Selama bertahun-tahun, teori rantai aplikasi telah diimplementasikan dalam berbagai cara. Kebutuhan akan modularitas telah meningkat seiring waktu, karena pengembang blockchain menyadari bahwa platform mereka dapat ditingkatkan secara lebih efisien dengan melakukan outsourcing beberapa pekerjaan yang terlibat dalam menjalankan dApps.
Awalnya hanya diperuntukkan bagi rantai negara, sering kali dibangun menggunakan Interchain Stack, evolusi rantai aplikasi kini mencakup rantai konsumen yang menyewa keamanan dari Cosmos Hub, serta rollup yang mengandalkan rantai lapisan 1 untuk melakukan beberapa penyelesaian dan pekerjaan penghubung, serta dengan cemerlang. Perubahan ini membawa asumsi dan permasalahan keamanan berbeda yang perlu ditangani. Celestia bertujuan untuk memecahkan masalah khusus yang disebut ketersediaan data, namun sebelum kami menjelaskan bagaimana masalah ini berkaitan dengan proyek Anda, mari kita coba memahami kata kunci terbaru di Web3: modularitas.
Pekerjaan yang dilakukan oleh rantai lapisan 1 tunggal, termasuk rantai Ethereum dan #Cosmos berdaulat, secara kasar dapat dibagi menjadi 4 lapisan:
Lapisan eksekusi memproses transaksi dan bertanggung jawab untuk memperbarui status pada rantai. Misalnya: perbarui saldo dompet Anda ketika seorang teman mengirimi Anda token.
Lapisan jembatan penyelesaian bertanggung jawab untuk menyelesaikan transaksi, atau lebih tepatnya, memastikan tanpa keraguan bahwa transaksi tersebut valid. Hal ini berlaku khususnya pada ringkasan, yang akan kita bahas nanti. Baru-baru ini, lapisan penyelesaian lebih sering dilihat sebagai lapisan penghubung, yang menyediakan cara bagi Rollup untuk berkomunikasi dengan jaringan blockchain yang lebih luas, sementara penyelesaian itu sendiri telah menjadi topik yang lebih kontroversial. Pada jaringan reguler seperti Cosmos Application Chain, penyelesaiannya gratis karena lapisan konsensus secara efektif memvalidasi setiap transaksi sebelum mencapai lapisan eksekusi.
Lapisan konsensus adalah tempat banyak pihak sepakat tentang isi blok dan bagaimana transaksi mereka harus diurutkan.
Lapisan ketersediaan data bertanggung jawab untuk memastikan bahwa setiap orang memiliki akses ke transaksi benar yang telah dikirimkan ke jaringan. Seperti yang akan kami jelaskan nanti, lapisan penyelesaian memerlukan akses ke transaksi ini untuk memverifikasi bahwa lapisan eksekusi jujur.
Dalam konteks rantai berbasis Cosmos SDK (yang memiliki kumpulan validatornya sendiri dan berjalan sebagai rantai aplikasi yang berdaulat), lapisan konsensus pada dasarnya bertanggung jawab atas ketersediaan data dan penyelesaian akhir transaksi. Namun, meluncurkan rantai negara mengharuskan Anda memiliki seperangkat validator dan token bukti kepemilikan, kecuali Anda memilih solusi keamanan bersama seperti Keamanan Interchain. Selain kompleksitas hukum dan operasional dalam meluncurkan rantai dengan token, ada juga pertimbangan skalabilitas yang harus diperhatikan.
Penskalaan yang efisien melalui agregasi
Seiring berkembangnya web, trilema skalabilitas menjadi lebih jelas. Pada pandangan pertama, sepertinya blockchain harus berkorban dalam hal keamanan jaringan, tingkat desentralisasi, atau jumlah transaksi yang dapat diproses per detik. Untuk rantai secara keseluruhan, peningkatan pada satu rantai biasanya mengorbankan rantai lainnya. Namun, melalui pekerjaan yang dilakukan pada protokol modular, kita dapat melihat bahwa beberapa komponen trilema ini spesifik untuk setiap lapisan dalam tumpukan modular.
Misalnya: lapisan eksekusi yang menerima transaksi dan memprosesnya menjadi perubahan status memerlukan throughput yang cepat. Apakah transaksi tersebut terdesentralisasi dan aman, bisa dibilang tidak relevan selama terdapat cukup lapisan penyelesaian, konsensus, dan ketersediaan data yang terdesentralisasi dan aman untuk menjamin dan memverifikasi bahwa transaksi yang benar sedang dijalankan. Desentralisasi pada tingkat tertentu pada lapisan eksekusi berkontribusi terhadap keaktifan jaringan, namun tidak penting untuk mencegah segala bentuk pelanggaran. Dengan kata lain, hal ini tidak mempengaruhi asumsi kepercayaan apa pun tentang jaringan.
Dengan tumpukan blockchain modular, pengembang dapat melakukan outsourcing sebagian besar pekerjaan yang diperlukan untuk mengoperasikan blockchain. Pengembang aplikasi bertanggung jawab penuh atas lapisan eksekusi, yang meningkatkan skalabilitas dan secara signifikan mengurangi waktu pengembangan. Inilah alasan mengapa rollup sangat efektif dan populer saat ini. Rollup, sering disebut sebagai Layer 2, memungkinkan satu atau lebih server untuk mengeksekusi transaksi off-chain tanpa menunggu algoritma konsensus yang lambat untuk menyetujui isi blok. Hal ini mungkin tampak tidak aman, namun mereka dapat melakukannya tanpa menimbulkan risiko yang signifikan dengan memberikan bukti validitas yang mahal secara komputasi dalam kasus yang disebut agregasi tanpa pengetahuan (ZK), atau dengan menyediakan jangka waktu di mana node Dimana operator dapat mengirimkan bukti kegagalan sebagai bukti bahwa seseorang bertindak tidak tepat, seperti halnya agregasi optimis. Namun dalam kerangka ini, muncul persoalan baru: persoalan ketersediaan data.
Apa yang dimaksud dengan masalah ketersediaan data?
Ketika pengguna mengirimkan transaksi pada rollup, pesan dikirim langsung ke sequencer, yang umumnya hanya komputer yang sangat cepat yang mengelompokkan transaksi-transaksi ini bersama-sama melalui proses off-chain. Setelah dikompres ke ukuran yang lebih kecil, batch tersebut dikirimkan ke lapisan penyelesaian seperti Ethereum. Karena tingginya permintaan ruang blok pada jaringan ini, ini merupakan solusi yang jauh lebih murah daripada menerbitkan transaksi individual langsung ke lapisan penyelesaian. Saat ini, sebagian besar agregasi menggunakan sequencer tunggal (yaitu satu entitas yang melakukan pengurutan), meskipun sequencer bersama sedang dieksplorasi. Hal ini umumnya aman karena pengguna dapat menjamin bahwa eksekusi suatu transaksi valid melalui bukti validitas atau bukti kegagalan yang dapat diperiksa di lapisan penyelesaian. Namun, agregasi tidak memberikan jaminan bahwa sequencer jujur mengenai transaksi yang dikirimkan dan mengirimkan data yang sama ke semua orang.
Ini adalah sifat dari masalah ketersediaan data. Lapisan penyelesaian, atau node penuh mana pun yang mengamati jaringan, bertugas memeriksa pekerjaan yang dilakukan oleh agregasi, dan data transaksi diperlukan untuk melakukan hal ini. Secara default, agregasi tidak dapat dengan mudah dan murah membuktikan bahwa sequencer memproses semua transaksi masuk ke dalam sebuah blok, atau bahwa semua transaksi yang telah ditambahkan ke blok tersebut berada dalam domain publik. Akibatnya, sequencer dapat menyensor data transaksi yang dikirimkan pengguna atau, lebih buruk lagi, mencegahnya diverifikasi oleh lapisan penyelesaian.
Meskipun jenis sensor ini secara teknis juga dapat terjadi pada blockchain biasa, hal ini secara praktis tidak mungkin dilakukan karena banyaknya validator dalam jaringan bukti kepemilikan dan fakta bahwa hanya satu dari mereka yang harus jujur. Namun yang lebih penting, lapisan penyelesaian tidak memerlukan data untuk verifikasi karena transaksi telah diselesaikan melalui proses konsensus.

#Celestia Bagaimana mengatasi masalah ini?
#Celestia adalah blockchain lapisan 1 yang dibangun menggunakan Cosmos SDK, menyediakan ketersediaan data sebagai layanan agregasi. Paling umum, jaringan Celestia menerima semua transaksi pengguna yang masuk dari sequencer, meskipun mungkin juga merupakan penerima pertama dari transaksi ini sebelum transaksi tersebut memasuki rollup untuk dieksekusi, bergantung pada konfigurasi rollup. Mari kita gunakan contoh untuk menjelaskannya dari perspektif transaksi. Kami akan mengasumsikan jaringan fiksi yang disebut Roll Protocol, yang dibangun sebagai rollup optimis berdasarkan Cosmos SDK.
Katakanlah Anda menggunakan Keplr untuk mengirim beberapa token $ROLL ke teman Anda melalui Roll Protocol. Setelah dikirimkan, transaksi pengiriman pertama kali dikirim ke sequencer Roll Protocol.
Sequencer adalah komputer yang menjalankan proses off-chain dari protokol Roll, yang sekarang melihat semua transaksi dan mengujinya terhadap status protokol Roll saat ini untuk melihat apakah transaksi tersebut memang valid. Untuk pesan yang Anda kirim, ia memeriksa apakah pesan tersebut berisi alamat penerima yang valid, apakah Anda memiliki cukup token $ROLL untuk dikirim ke teman Anda, dll.
Transaksi yang valid kemudian dikumpulkan ke dalam blok dan dieksekusi oleh sequencer, yang berarti perubahan dilakukan pada penyimpanannya. Saldo dompet Anda dan teman Anda akan diperbarui untuk mencerminkan koin yang ditukar.
Blok yang berisi transaksi ini kemudian dibagikan ke Celestia oleh sequencer dan ditempatkan di bawah namespace “Roll Protocol”, yang sebenarnya hanyalah sebuah label yang memudahkan pemisahan data. Validator di jaringan Celestia kemudian menyetujui konten blok, yang diselesaikan di jaringan dan didistribusikan ke semua node.
Pada saat yang sama, semua transaksi sukses yang merupakan bagian dari sebuah blok diubah menjadi batch oleh sequencer dan diserahkan ke lapisan penyelesaian, yang biasanya hanya berupa kontrak pintar pada rantai lapisan 1 seperti Ethereum. Lapisan penyelesaian adalah blockchain tempat bukti kegagalan dikirimkan jika seseorang menemukan bahwa transaksi tertentu tidak valid (misalnya, Anda sebenarnya tidak memiliki dana untuk mengirim sejumlah koin ke teman Anda). Tapi siapa yang melakukan pekerjaan ini?
Node penuh lainnya yang dijalankan oleh dApps terpisah (seperti DEX) juga akan mengeksekusi transaksi pada waktu yang sama dengan eksekusi sequencer. Hal ini memungkinkan mereka untuk tetap mendapatkan informasi terkini dan memberi Anda pembaruan tentang saldo Anda, misalnya. Terlebih lagi, mereka dapat mengecek terlebih dahulu jika ada transaksi yang tidak valid. Jika demikian, bukti kegagalan diserahkan ke lapisan penyelesaian.
Anda mungkin ingat bahwa agregasi optimis memiliki jangka waktu sebelum perdagangan diselesaikan. Selama Anda memercayai entitas yang mengoperasikan node penuh, meminta node penuh tersebut memeriksa validitasnya terlebih dahulu dapat membantu pengguna melihat transaksi sebagai "final" sebelum jendela optimisme ditutup. Kami menyebut sistem ini "kepercayaan yang diminimalkan" karena Anda hanya perlu benar-benar percaya bahwa jaringan berisi setidaknya satu dari banyak node yang jujur untuk melewati jendela waktu yang optimis.
Untuk menguji apakah sequencer bermasalah, node penuh, serta lapisan penyelesaian, perlu mengakses beberapa data yang dipublikasikan ke Celestia, karena sequencer mungkin telah mengeksekusi transaksi yang tidak valid. Untungnya, jaringan Celestia menerbitkan blok yang berisi semua transaksi masuk Roll Protocol yang sebelumnya disertakan dalam batch, jadi kami yakin bahwa kami memiliki informasi yang kami perlukan untuk membuktikan integritas pemesan jika diperlukan.
Perlu dicatat bahwa Celestia tidak peduli dengan isi setiap transaksi. Faktanya, ia bahkan tidak dapat memahami transaksi ini karena tidak ada lingkungan eksekusi di Celestia yang menggunakan bahasa yang sama. Dengan memisahkan kekhawatiran ini melalui tumpukan modular ini, pemesan dapat fokus pada pelaksanaan transaksi dengan cepat, lapisan penyelesaian dapat fokus pada keamanan dan menyediakan kemampuan penghubung, dan lapisan konsensus dan ketersediaan data dapat fokus pada desentralisasi. Hal ini sangat meningkatkan skalabilitas dan optimalisasi dengan memastikan bahwa setiap subkomponen yang bertanggung jawab atas operasi jaringan sangat terspesialisasi.
Meskipun contoh kami menggunakan rollup berbasis Cosmos SDK, rollup yang kompatibel dengan EVM tidak dikecualikan. Celestia juga beroperasi sebagai lapisan ketersediaan data untuk ekosistem EVM dan bisa dibilang jauh lebih murah dibandingkan alternatif seperti EIP-4844 (juga dikenal sebagai Danksharding) di Ethereum.
Perbandingan Agregasi dan Rantai Kedaulatan
Ada banyak manfaat membangun Rollup dan menggunakan jaringan Celestia. Jika Anda sudah mengembangkan interchain, Anda dapat terus menggunakan alat dan perangkat lunak yang Anda kenal sambil meningkatkan throughput protokol, menghilangkan kebutuhan akan validator di jaringan, dan bahkan berpotensi meluncurkan tanpa token jika diperlukan. Mari kita lihat beberapa perbedaan antara build rollup dan rantai aplikasi yang berdaulat:
Skalabilitas dan efisiensi: Rollup yang menggunakan Celestia umumnya memberikan skalabilitas dan efisiensi yang lebih besar dibandingkan dengan rantai Cosmos SDK yang berdaulat. Hal ini karena rollup memindahkan sebagian besar pemrosesan transaksi ke Lapisan 2, sehingga memungkinkan lebih banyak transaksi diproses lebih cepat, sedangkan rantai negara terhambat oleh algoritma konsensus. Jika aplikasi Anda memerlukan transaksi dalam jumlah besar, rollup mungkin lebih cocok daripada rantai kedaulatan. Dalam hal ini, aplikasi Anda perlu mengeluarkan token pada lapisan penyelesaian, yang bisa mahal tergantung pada rantai yang Anda pilih, meskipun Celestia mengurangi jumlah data yang akan dipublikasikan.
Keaktifan dan desentralisasi: Rollup biasanya dijalankan menggunakan sequencer tunggal. Penelitian sedang dilakukan untuk membangun sequencer bersama yang efisien, namun pekerjaan ini masih berada di depan dan dapat mengurangi efisiensi pengumpulan. Saat ini, desentralisasi pada tingkat pelaksanaan sebenarnya belum ada. Oleh karena itu, jika sequencer menjadi offline, ada risiko lebih besar bahwa redundansi dan keaktifan rollup akan terpengaruh. Mekanisme redundan dapat dirancang, namun pengembang rollup mewarisi kompleksitas infrastruktur yang biasanya digunakan bersama oleh validator pada blockchain yang berdaulat.
Keamanan: Rollups memanfaatkan keamanan lapisan penyelesaian yang mendasarinya, sementara rantai kedaulatan perlu memastikan keamanan jaringannya sendiri. Jika Anda memilih untuk menggunakan rantai Cosmos SDK yang berdaulat, Anda harus memastikan bahwa Anda memiliki kumpulan validator yang besar dan beragam untuk mengamankan jaringan Anda, serta kapitalisasi pasar yang cukup besar (jika Anda menggunakan bukti) untuk mempertaruhkan jaringan Anda. token. Rollup memungkinkan Anda mewarisi keamanan lapisan penyelesaian, yang dapat berguna jika menerapkan sendiri beberapa persyaratan rantai aplikasi Anda merupakan suatu tantangan.
Kompleksitas: Membangun sistem Rollup bisa lebih rumit daripada membuat rantai kedaulatan menggunakan Cosmos SDK. Hal ini disebabkan oleh kebutuhan untuk mengelola interaksi antara rollup, Celestia, dan lapisan penyelesaian. Jika tim Anda tidak memiliki pengalaman agregasi atau tidak ingin menghadapi kompleksitas tambahan, rantai kedaulatan mungkin merupakan pilihan yang lebih baik. Namun, menggunakan kerangka Rollkit membuat proses pengembangan lebih mudah, memungkinkan Anda membuat rollup dengan relatif mudah.
Interoperabilitas: Rantai Cosmos SDK mendapat manfaat dari protokol Inter-Blockchain Communication (IBC), yang memungkinkan rantai berbeda untuk saling beroperasi. Meskipun rollup dapat berinteraksi dengan rantai lain, detailnya akan bergantung pada implementasi spesifik dan mungkin lebih kompleks. Dalam kebanyakan kasus, agregasi menggunakan lapisan penyelesaian sebagai pusat penghubung.