Sejak lama saya memiliki ide untuk memecahkan beberapa masalah yang saat ini dihadapi Rollup melalui desain multi-Rollup (multi-Rollup). Selama sekitar satu setengah tahun saya mengira seseorang akan membangunnya, namun tidak pernah benar-benar mendalami atau memikirkan detail sistem seperti itu.
Sudah lama berlalu dan sepertinya tidak ada satu pun desain yang menyelesaikan masalah yang saya jelaskan di postingan ini, jadi saya akan mengisi detail sistem ini sebaik mungkin dengan harapan seseorang bisa mendapatkan inspirasi darinya, atau bahkan dari Rollup yang sudah ada. Pinjam beberapa ide.
memperkenalkan
Salah satu masalah yang dihadapi Rollup saat ini adalah pengalaman pengguna. Dalam banyak desain, Rollup adalah ekosistem terpisah dengan karakteristik berbeda. Ada cara untuk saling beroperasi, namun menghubungkan beberapa sistem yang heterogen merupakan sebuah tantangan. Selain itu, sulit untuk membuat pengguna mendaftar ke semua Rollup ini. Mereka harus memahami setiap Rollup satu per satu, mengevaluasi kontrak pintar yang relevan, menghubungkan dompet mereka ke titik akhir RPC baru, menjembatani aset ke dalam rantai, dll.
Bagaimana jika ada desain Rollup yang memberikan pengalaman terpadu untuk semua Rollup? akan terlihat seperti apa?
Saya telah menanyakan pertanyaan ini pada diri saya sendiri dan mendapatkan lima wawasan berikut:
Ini harus menyediakan RPC terpadu untuk menanyakan dan memanggil kontrak pintar yang berbeda di seluruh Rollup. Kontrak pintar harus memiliki alamat unik yang tidak bergantung pada Rollup miliknya.
Ini harus memungkinkan peningkatan dan penurunan skala sesuai kebutuhan. Semakin banyak transaksi berarti semakin banyak Rollup yang harus diproses, dan beban yang tidak merata antar Rollup harus seimbang.
Ini harus memberikan insentif kepada sequencer di Rollup yang berbeda agar tetap online. Sistem harus mendorong penyortir lain untuk menggantikan penyortir offline.
Ini harus mendukung transfer lintas rantai instan. Transaksi harus diselesaikan dengan cukup cepat sehingga operasi lintas rantai dapat dilakukan.
Ini harus mempertahankan fungsionalitas klien ringan dan memblokir fungsi penjelajah di beberapa penggabungan. Penjelajah blok harus memberikan pandangan terpadu tentang blockchain, dan klien ringan harus memungkinkan verifikasi berbiaya rendah.
Dengan mempertimbangkan semua ini, saya membuat desain yang terdiri dari hub Rollup dan sejumlah sub-Rollup yang bervariasi. Hub Rollup adalah pusat pendaftaran dan penyeimbang beban semua sub-Rollup, namun tidak melakukan pemrosesan kontrak cerdas apa pun. Kontrak pintar ditangani dalam sub-Rollup.
Di bagian selanjutnya, saya akan memandu Anda melalui desain kasar yang menjelaskan 5 pertimbangan yang saya sebutkan di atas.
Ikhtisar Desain
Sistem ini memiliki dua komponen utama: Rollup hub dan sub-Rollup. Sistem Rollup hub memiliki dua komponen utama: Rollup hub dan sub-Rollup. Hub Rollup adalah Rollup yang berisi semua registrasi kontrak pintar dari semua sub-Rollup dan menentukan Rollup mana yang bertanggung jawab atas kontrak pintar mana. Selain itu, hub Rollup berisi registri semua sequencer untuk Rollup anak lainnya. Rantai anak bertanggung jawab untuk mengeksekusi transaksi kontrak pintar yang diberikan kepadanya oleh hub Rollup di registri kontrak pintar. Registri penyortir berisi dua komponen utama untuk setiap sistem penyortir: hub rollup dan rollup anak. Hub Rollup adalah Rollup yang berisi semua registrasi kontrak pintar dari semua sub-Rollup dan menentukan Rollup mana yang bertanggung jawab atas kontrak pintar mana. Selain itu, hub Rollup berisi registri semua sequencer untuk Rollup anak lainnya. Rantai anak bertanggung jawab untuk mengeksekusi transaksi kontrak pintar yang diberikan kepadanya oleh hub Rollup di registri kontrak pintar. Registri sequencer berisi setiap titik akhir RPC sequencer dan alamat DA.
Registri sequencer bertindak sebagai pemetaan alamat kontrak pintar global ke alamat kontrak pintar. Ini digunakan untuk merutekan panggilan RPC ke RPC sequencer spesifik yang sesuai dengan kontrak pintar yang ditanyakan atau diperbarui.
Pendaftaran Kontrak Cerdas
Registri kontrak pintar bertindak sebagai pemetaan dari alamat kontrak pintar global ke alamat kontrak pintar.
Rantai Gulung
Rantai anak biasanya memiliki akar status, dan rute status ini dapat diperbarui dengan memanggil kontrak pintar secara langsung, atau dapat diperbarui ketika hub Rollup menugaskan kontrak pintar ke Rollup lain, dalam hal ini, kontrak pintar harus dihapus , dan Itu ditambahkan ke kontrak pintar lainnya.
RPC Terpadu
Sasaran: Tidak perlu terhubung ke rantai baru untuk setiap Rollup, dan menjadikan transaksi lintas-Rollup transparan bagi pengguna.
RPC Terpadu memulihkan pengalaman pengguna rantai tunggal dalam jaringan multi-rollup, dan pengguna tidak perlu tersambung ke jaringan berbeda untuk menggunakan rollup berbeda.
Sistem menggunakan registri sequencer Rollup dari hub Rollup untuk menemukan titik akhir RPC untuk sequencer yang sesuai dengan kontrak pintar tertentu. Permintaan tersebut kemudian diserahkan langsung ke sequencer. Beberapa transaksi dapat diselesaikan dengan mengirimkan permintaan ke Rollup yang berbeda. Lihat bagian berikut untuk lebih jelasnya.
bagaimana bekerja
Hub Rollup memelihara registri sequencer untuk semua rantai anak.
Ketika pengguna ingin mengirimkan transaksi baru, dompet pengguna akan menanyakan registri kontrak pintar untuk mendapatkan RollupID kontrak pintar, dan menanyakan registri sequencer untuk mendapatkan titik akhir RPC dari sequencer dalam Rollup yang sama.
Transaksi kemudian dikirimkan ke titik akhir RPC sequencer.
Penyeimbang beban
Sasaran: Menyeimbangkan biaya semua rollup
Penyeimbangan beban memungkinkan penyeimbangan beban di Rollup. Ketika sistem tersumbat, rollup baru dapat dihasilkan untuk menangani beban. Bila tidak banyak gunanya, Rollup dapat dihapus untuk menghemat sumber daya. Selain itu, sistem dapat menghindari lonjakan biaya dengan memindahkan kontrak pintar dengan permintaan transaksi yang tinggi ke rollup dengan kapasitas yang lebih tersedia.
Setiap periode, hub Rollup mengevaluasi beban semua Rollup di sistem. Epoch harus berlangsung beberapa jam (mungkin 6 hingga 24 jam) untuk menghindari realokasi kontrak pintar berskala besar.
Hub Rollup dapat memutuskan kontrak pintar mana yang akan dialokasikan kembali dan kapan harus membuat atau menghapus Rollup, baik menggunakan tata kelola atau menggunakan riwayat konsumsi gas dari kontrak pintar yang berbeda untuk memutuskan secara mandiri.
Hub Rollup memeriksa apakah ada Rollup yang memiliki beban transaksi di atas rata-rata (yaitu biayanya tinggi) atau di bawah rata-rata (yaitu biayanya rendah).
Jika beban rollup lebih tinggi dari rata-rata, hub rollup mengevaluasi kontrak pintar mana yang paling banyak mengonsumsi bahan bakar dan mengalokasikannya kembali ke rollup lain yang dapat menangani beban tambahan. Kontrak pintar kemudian akan dihapus dari status rollup host awalnya.
Jika beban rata-rata semua Rollup lebih tinggi dari rata-rata, hub Rollup akan membuat Rollup baru dan menetapkan beberapa kontrak pintar ke Rollup baru. Demikian pula, jika beban rata-rata semua Rollup lebih rendah dari rata-rata, hub Rollup akan menghapus Rollup dan menetapkan ulang kontrak cerdasnya ke Rollup lainnya.
Rantai Rollup harus melihat hub Rollup setiap periode, mengunduh penyimpanan untuk setiap kontrak pintar baru yang ditugaskan padanya, dan menghapus semua kontrak pintar yang tidak lagi bertanggung jawab atas kontrak tersebut.
Catatan: Mengunduh penyimpanan untuk beberapa kontrak pintar mungkin bukan masalah sepele. Pertama, state tidak tersedia pada lapisan DA dan ukurannya cukup besar. Ini membatasi waktu minimum dan memerlukan masa tenggang untuk mempersiapkan penyimpanan kontrak pintar.
Insentif Penyortiran
Sasaran: Gunakan sebagian dari hadiah dalam token asli untuk memberi insentif pada sequencer cadangan.
Kebanyakan rollup saat ini dibuat dalam satu rantai, dikelola oleh satu atau beberapa pemesan, dengan tujuan memaksimalkan waktu aktif rollup. Sebaliknya, dalam sistem multi-rollup, terdapat beberapa sub-rollup independen, yang masing-masing harus online agar tetap aktif di sistem secara keseluruhan.
Para penyortir secara alami akan diberi insentif untuk bergabung dengan Rollup guna mengumpulkan MEV, namun lebih baik memberikan imbalan yang sesuai kepada para penyortir ini karena mereka lebih konsisten dan tidak menyimpang dari insentif seperti MEV. Imbalan ini harus datang dari kebijakan moneter Rollup hub.
Selain itu, yang terbaik adalah memiliki beberapa sequencer dalam keadaan siaga dan siap untuk masuk, dan sequencer ini dapat bergabung dengan sistem ketika permintaan transaksi meningkat dan meninggalkan sistem ketika sumber daya komputasi tidak tersedia.
Sequencer siaga akan tetap berada dalam antrean sequencer dan menerima sedikit imbalan komitmen ketersediaan. Saat ditukarkan di Rollup, mereka menerima hadiah penuh. Hadiah akan datang dari mekanisme pembakaran biaya hub Rollup.
Cara Penggunaan
Penyortir dapat bergabung dengan antrean penyortir hub Rollup dengan mengirimkan jaminan keuangan (mirip dengan sistem Rollup saat ini).
Pemesan dalam antrean perlu memberikan bukti DA bahwa mereka memiliki status hub Rollup dan dapat dibaca untuk bergabung dengan Rollup kapan saja.
Ketika mereka menyerahkan bukti, mereka akan menerima sebagian dari hadiahnya, yang merupakan token asli sistem. Token ini adalah pegangan pada hub Rollup.
Jika hub Rollup memutuskan bahwa Rollup baru diperlukan, mereka akan ditugaskan dan menerima hadiah penuh. Imbalan ini ditentukan oleh jumlah total biaya yang dikonsumsi dalam sistem.
Transaksi Cross Rollup
Sasaran: Transaksi rollup harus instan dan transparan bagi pengguna.
Transaksi cross-Rollup antara Rollup A dan Rollup B harus memiliki dua bagian: 1) transaksi pada Rollup A 2) transaksi pada Rollup B. Hanya akan terjadi bila transaksi pada Rollup A berhasil dan final.
Untuk konfirmasi cepat, dompet pengguna dapat memeriksa apakah transaksi telah dikirimkan ke lapisan DA yang mendasarinya dan membuktikan validitasnya menggunakan ZK. Jika transaksi tersebut disertakan dan valid, maka sequencer harus mencapai kesimpulan yang sama untuk transaksi tersebut.
Penghargaan diberikan kepada Mustafa Al-Bassam dan Sovereign Labs atas ide ini.
Cara Penggunaan
Seorang pengguna mengirimkan transaksi yang berisi tiga Rollup, seperti Rollup A, B, dan C.
Mari kita pikirkan contoh nyata, Rollup A memiliki kontrak pintar stablecoin, Rollup B memiliki DEX, dan Rollup C memiliki perjanjian pinjaman, dalam contoh ini, pengguna ingin menukar stablecoin mereka dengan token yang berbeda, dan perjanjian pinjaman Deposit mereka.
Pengguna harus terlebih dahulu mengirimkan transaksi Rollup A untuk mentransfer stablecoin ke DEX di Rollup B.
Mereka kemudian dapat mengirimkan transaksi Rollup B DEX yang menukarkan stablecoin dengan token yang diinginkan di Rollup B.
Pada gilirannya, token tersebut seharusnya ditransfer ke RollupC, sehingga pengguna mengirimkan transaksi ketiga, yang melakukan hal tersebut.
Terakhir, pengguna mengirimkan transaksi keempat dan terakhir, menyetorkan token ke dalam protokol peminjaman.
Node Cahaya dan Penjelajah Blok
Sasaran: Light node harus dapat memverifikasi kontrak pintar di seluruh Rollup, dan penjelajah blok harus memberikan pandangan terpadu tentang rantai tersebut.
Sistem blockchain harus memungkinkan siapa saja untuk menjalankan sebuah node dan memverifikasi rantai itu sendiri. Dalam desain multi-rollup ini, di mana kontrak pintar terus-menerus dipindahkan ke sub-rollup yang berbeda, harus ada cara untuk melacak kontrak pintar spesifik ini. Ini adalah perubahan pemikiran dari memvalidasi satu atau lebih rantai menjadi memvalidasi satu atau lebih kontrak pintar. Node ringan dapat menggunakan bukti ZK untuk memverifikasi semua rollup anak dengan biaya rendah.
Node Rollup harus mendukung mode validasi, bersama dengan mode sequencer.
Mode verifikasi memverifikasi status satu kontrak pintar dan tidak mengirimkan kumpulan transaksi ke lapisan DA seperti mode sequencer.
Jika kontrak pintar mengubah subklaster, validator hanya perlu memperbarui subklaster yang mereka dengarkan karena mereka sudah memiliki penyimpanan kontrak pintar hingga subklaster tersebut ditugaskan kembali.
Kontrak pintar harus diproses dalam satu Rollup dalam satu waktu. Karena terbatas pada Rollup, validator dengan spesifikasi yang sama harus dapat melacak dan memvalidasinya.
Node ringan dapat menggunakan bukti ZK untuk memverifikasi status rantai dengan biaya murah.
Penjelajah blok adalah bagian integral dari sistem blockchain. Mereka memfasilitasi kueri keseimbangan aset asli, kueri kontrak pintar, dan memelihara riwayat transaksi dari blok pertama hingga blok saat ini. Dalam sistem multi-rollup ini, penjelajah blok harus memberikan tampilan terpadu dari semua sub-rollup.
Penjelajah blok harus mendukung kueri saldo hub Rollup (untuk aset asli) dan riwayat transaksi semua sub-Rollup.
Mirip dengan sistem rollup tunggal, penjelajah blok menggunakan indeks untuk mencapai hal ini. Sistem multi-rollup harus mengindeks semua rollup untuk menyediakan layanan kueri untuk kontrak pintar apa pun di sistem.
Jika hub rollup memutuskan untuk menambah jumlah rollup anak, penjelajah blok harus siap menanganinya. Mereka harus menyediakan lebih banyak kapasitas sub-rollup, atau memiliki sistem orkestrasi container (seperti Kubernetes) untuk meningkatkan skala sub-rollup secara otomatis.
Mereka harus menggunakan nomor blok dari lapisan DA untuk konsistensi di semua rollup.
Kesimpulannya
Desain di atas hanyalah sebuah ide saat ini dan saya mungkin tidak akan pernah menerapkannya lebih jauh, namun saya harap ide tersebut menarik minat Anda. Jika desainnya disetujui, saya berharap dapat digunakan dalam proyek Rollup dan mendekati kemampuan perluasan EIP-4844, Celestia atau Avail.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Memperluas masa depan: konsep desain sistem multi-Rollup
Penulis: AndreasTzionis; Sumber: ethresear.ch; Penyusun: Yvonne, MarsBit
Sejak lama saya memiliki ide untuk memecahkan beberapa masalah yang saat ini dihadapi Rollup melalui desain multi-Rollup (multi-Rollup). Selama sekitar satu setengah tahun saya mengira seseorang akan membangunnya, namun tidak pernah benar-benar mendalami atau memikirkan detail sistem seperti itu.
Sudah lama berlalu dan sepertinya tidak ada satu pun desain yang menyelesaikan masalah yang saya jelaskan di postingan ini, jadi saya akan mengisi detail sistem ini sebaik mungkin dengan harapan seseorang bisa mendapatkan inspirasi darinya, atau bahkan dari Rollup yang sudah ada. Pinjam beberapa ide.
memperkenalkan
Salah satu masalah yang dihadapi Rollup saat ini adalah pengalaman pengguna. Dalam banyak desain, Rollup adalah ekosistem terpisah dengan karakteristik berbeda. Ada cara untuk saling beroperasi, namun menghubungkan beberapa sistem yang heterogen merupakan sebuah tantangan. Selain itu, sulit untuk membuat pengguna mendaftar ke semua Rollup ini. Mereka harus memahami setiap Rollup satu per satu, mengevaluasi kontrak pintar yang relevan, menghubungkan dompet mereka ke titik akhir RPC baru, menjembatani aset ke dalam rantai, dll.
Bagaimana jika ada desain Rollup yang memberikan pengalaman terpadu untuk semua Rollup? akan terlihat seperti apa?
Saya telah menanyakan pertanyaan ini pada diri saya sendiri dan mendapatkan lima wawasan berikut:
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-24cc855280-dd1a6f-6d2ef1)
Dengan mempertimbangkan semua ini, saya membuat desain yang terdiri dari hub Rollup dan sejumlah sub-Rollup yang bervariasi. Hub Rollup adalah pusat pendaftaran dan penyeimbang beban semua sub-Rollup, namun tidak melakukan pemrosesan kontrak cerdas apa pun. Kontrak pintar ditangani dalam sub-Rollup.
Di bagian selanjutnya, saya akan memandu Anda melalui desain kasar yang menjelaskan 5 pertimbangan yang saya sebutkan di atas.
Ikhtisar Desain
Sistem ini memiliki dua komponen utama: Rollup hub dan sub-Rollup. Sistem Rollup hub memiliki dua komponen utama: Rollup hub dan sub-Rollup. Hub Rollup adalah Rollup yang berisi semua registrasi kontrak pintar dari semua sub-Rollup dan menentukan Rollup mana yang bertanggung jawab atas kontrak pintar mana. Selain itu, hub Rollup berisi registri semua sequencer untuk Rollup anak lainnya. Rantai anak bertanggung jawab untuk mengeksekusi transaksi kontrak pintar yang diberikan kepadanya oleh hub Rollup di registri kontrak pintar. Registri penyortir berisi dua komponen utama untuk setiap sistem penyortir: hub rollup dan rollup anak. Hub Rollup adalah Rollup yang berisi semua registrasi kontrak pintar dari semua sub-Rollup dan menentukan Rollup mana yang bertanggung jawab atas kontrak pintar mana. Selain itu, hub Rollup berisi registri semua sequencer untuk Rollup anak lainnya. Rantai anak bertanggung jawab untuk mengeksekusi transaksi kontrak pintar yang diberikan kepadanya oleh hub Rollup di registri kontrak pintar. Registri sequencer berisi setiap titik akhir RPC sequencer dan alamat DA.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-30f0cf6d9f-dd1a6f-6d2ef1)
Registri sequencer
Registri sequencer bertindak sebagai pemetaan alamat kontrak pintar global ke alamat kontrak pintar. Ini digunakan untuk merutekan panggilan RPC ke RPC sequencer spesifik yang sesuai dengan kontrak pintar yang ditanyakan atau diperbarui.
Pendaftaran Kontrak Cerdas
Registri kontrak pintar bertindak sebagai pemetaan dari alamat kontrak pintar global ke alamat kontrak pintar.
Rantai Gulung
Rantai anak biasanya memiliki akar status, dan rute status ini dapat diperbarui dengan memanggil kontrak pintar secara langsung, atau dapat diperbarui ketika hub Rollup menugaskan kontrak pintar ke Rollup lain, dalam hal ini, kontrak pintar harus dihapus , dan Itu ditambahkan ke kontrak pintar lainnya.
RPC Terpadu
Sasaran: Tidak perlu terhubung ke rantai baru untuk setiap Rollup, dan menjadikan transaksi lintas-Rollup transparan bagi pengguna.
RPC Terpadu memulihkan pengalaman pengguna rantai tunggal dalam jaringan multi-rollup, dan pengguna tidak perlu tersambung ke jaringan berbeda untuk menggunakan rollup berbeda.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-74756eed1e-dd1a6f-6d2ef1)
Sistem menggunakan registri sequencer Rollup dari hub Rollup untuk menemukan titik akhir RPC untuk sequencer yang sesuai dengan kontrak pintar tertentu. Permintaan tersebut kemudian diserahkan langsung ke sequencer. Beberapa transaksi dapat diselesaikan dengan mengirimkan permintaan ke Rollup yang berbeda. Lihat bagian berikut untuk lebih jelasnya.
bagaimana bekerja
Hub Rollup memelihara registri sequencer untuk semua rantai anak.
Ketika pengguna ingin mengirimkan transaksi baru, dompet pengguna akan menanyakan registri kontrak pintar untuk mendapatkan RollupID kontrak pintar, dan menanyakan registri sequencer untuk mendapatkan titik akhir RPC dari sequencer dalam Rollup yang sama.
Transaksi kemudian dikirimkan ke titik akhir RPC sequencer.
Penyeimbang beban
Sasaran: Menyeimbangkan biaya semua rollup
Penyeimbangan beban memungkinkan penyeimbangan beban di Rollup. Ketika sistem tersumbat, rollup baru dapat dihasilkan untuk menangani beban. Bila tidak banyak gunanya, Rollup dapat dihapus untuk menghemat sumber daya. Selain itu, sistem dapat menghindari lonjakan biaya dengan memindahkan kontrak pintar dengan permintaan transaksi yang tinggi ke rollup dengan kapasitas yang lebih tersedia.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-632aa78015-dd1a6f-6d2ef1)
bagaimana bekerja
Setiap periode, hub Rollup mengevaluasi beban semua Rollup di sistem. Epoch harus berlangsung beberapa jam (mungkin 6 hingga 24 jam) untuk menghindari realokasi kontrak pintar berskala besar.
Hub Rollup dapat memutuskan kontrak pintar mana yang akan dialokasikan kembali dan kapan harus membuat atau menghapus Rollup, baik menggunakan tata kelola atau menggunakan riwayat konsumsi gas dari kontrak pintar yang berbeda untuk memutuskan secara mandiri.
Hub Rollup memeriksa apakah ada Rollup yang memiliki beban transaksi di atas rata-rata (yaitu biayanya tinggi) atau di bawah rata-rata (yaitu biayanya rendah).
Jika beban rollup lebih tinggi dari rata-rata, hub rollup mengevaluasi kontrak pintar mana yang paling banyak mengonsumsi bahan bakar dan mengalokasikannya kembali ke rollup lain yang dapat menangani beban tambahan. Kontrak pintar kemudian akan dihapus dari status rollup host awalnya.
Jika beban rata-rata semua Rollup lebih tinggi dari rata-rata, hub Rollup akan membuat Rollup baru dan menetapkan beberapa kontrak pintar ke Rollup baru. Demikian pula, jika beban rata-rata semua Rollup lebih rendah dari rata-rata, hub Rollup akan menghapus Rollup dan menetapkan ulang kontrak cerdasnya ke Rollup lainnya.
Rantai Rollup harus melihat hub Rollup setiap periode, mengunduh penyimpanan untuk setiap kontrak pintar baru yang ditugaskan padanya, dan menghapus semua kontrak pintar yang tidak lagi bertanggung jawab atas kontrak tersebut.
Catatan: Mengunduh penyimpanan untuk beberapa kontrak pintar mungkin bukan masalah sepele. Pertama, state tidak tersedia pada lapisan DA dan ukurannya cukup besar. Ini membatasi waktu minimum dan memerlukan masa tenggang untuk mempersiapkan penyimpanan kontrak pintar.
Insentif Penyortiran
Sasaran: Gunakan sebagian dari hadiah dalam token asli untuk memberi insentif pada sequencer cadangan.
Kebanyakan rollup saat ini dibuat dalam satu rantai, dikelola oleh satu atau beberapa pemesan, dengan tujuan memaksimalkan waktu aktif rollup. Sebaliknya, dalam sistem multi-rollup, terdapat beberapa sub-rollup independen, yang masing-masing harus online agar tetap aktif di sistem secara keseluruhan.
Para penyortir secara alami akan diberi insentif untuk bergabung dengan Rollup guna mengumpulkan MEV, namun lebih baik memberikan imbalan yang sesuai kepada para penyortir ini karena mereka lebih konsisten dan tidak menyimpang dari insentif seperti MEV. Imbalan ini harus datang dari kebijakan moneter Rollup hub.
Selain itu, yang terbaik adalah memiliki beberapa sequencer dalam keadaan siaga dan siap untuk masuk, dan sequencer ini dapat bergabung dengan sistem ketika permintaan transaksi meningkat dan meninggalkan sistem ketika sumber daya komputasi tidak tersedia.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-02c28a977e-dd1a6f-6d2ef1)
Sequencer siaga akan tetap berada dalam antrean sequencer dan menerima sedikit imbalan komitmen ketersediaan. Saat ditukarkan di Rollup, mereka menerima hadiah penuh. Hadiah akan datang dari mekanisme pembakaran biaya hub Rollup.
Cara Penggunaan
Penyortir dapat bergabung dengan antrean penyortir hub Rollup dengan mengirimkan jaminan keuangan (mirip dengan sistem Rollup saat ini).
Pemesan dalam antrean perlu memberikan bukti DA bahwa mereka memiliki status hub Rollup dan dapat dibaca untuk bergabung dengan Rollup kapan saja.
Ketika mereka menyerahkan bukti, mereka akan menerima sebagian dari hadiahnya, yang merupakan token asli sistem. Token ini adalah pegangan pada hub Rollup.
Jika hub Rollup memutuskan bahwa Rollup baru diperlukan, mereka akan ditugaskan dan menerima hadiah penuh. Imbalan ini ditentukan oleh jumlah total biaya yang dikonsumsi dalam sistem.
Transaksi Cross Rollup
Sasaran: Transaksi rollup harus instan dan transparan bagi pengguna.
Transaksi cross-Rollup antara Rollup A dan Rollup B harus memiliki dua bagian: 1) transaksi pada Rollup A 2) transaksi pada Rollup B. Hanya akan terjadi bila transaksi pada Rollup A berhasil dan final.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-6899964b00-dd1a6f-6d2ef1)
Untuk konfirmasi cepat, dompet pengguna dapat memeriksa apakah transaksi telah dikirimkan ke lapisan DA yang mendasarinya dan membuktikan validitasnya menggunakan ZK. Jika transaksi tersebut disertakan dan valid, maka sequencer harus mencapai kesimpulan yang sama untuk transaksi tersebut.
Penghargaan diberikan kepada Mustafa Al-Bassam dan Sovereign Labs atas ide ini.
Cara Penggunaan
Seorang pengguna mengirimkan transaksi yang berisi tiga Rollup, seperti Rollup A, B, dan C.
Mari kita pikirkan contoh nyata, Rollup A memiliki kontrak pintar stablecoin, Rollup B memiliki DEX, dan Rollup C memiliki perjanjian pinjaman, dalam contoh ini, pengguna ingin menukar stablecoin mereka dengan token yang berbeda, dan perjanjian pinjaman Deposit mereka.
Pengguna harus terlebih dahulu mengirimkan transaksi Rollup A untuk mentransfer stablecoin ke DEX di Rollup B.
Mereka kemudian dapat mengirimkan transaksi Rollup B DEX yang menukarkan stablecoin dengan token yang diinginkan di Rollup B.
Pada gilirannya, token tersebut seharusnya ditransfer ke RollupC, sehingga pengguna mengirimkan transaksi ketiga, yang melakukan hal tersebut.
Terakhir, pengguna mengirimkan transaksi keempat dan terakhir, menyetorkan token ke dalam protokol peminjaman.
Node Cahaya dan Penjelajah Blok
Sasaran: Light node harus dapat memverifikasi kontrak pintar di seluruh Rollup, dan penjelajah blok harus memberikan pandangan terpadu tentang rantai tersebut.
Sistem blockchain harus memungkinkan siapa saja untuk menjalankan sebuah node dan memverifikasi rantai itu sendiri. Dalam desain multi-rollup ini, di mana kontrak pintar terus-menerus dipindahkan ke sub-rollup yang berbeda, harus ada cara untuk melacak kontrak pintar spesifik ini. Ini adalah perubahan pemikiran dari memvalidasi satu atau lebih rantai menjadi memvalidasi satu atau lebih kontrak pintar. Node ringan dapat menggunakan bukti ZK untuk memverifikasi semua rollup anak dengan biaya rendah.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-69f308abb1-dd1a6f-6d2ef1)
Cara kerjanya (klien ringan)
Node Rollup harus mendukung mode validasi, bersama dengan mode sequencer.
Mode verifikasi memverifikasi status satu kontrak pintar dan tidak mengirimkan kumpulan transaksi ke lapisan DA seperti mode sequencer.
Jika kontrak pintar mengubah subklaster, validator hanya perlu memperbarui subklaster yang mereka dengarkan karena mereka sudah memiliki penyimpanan kontrak pintar hingga subklaster tersebut ditugaskan kembali.
Kontrak pintar harus diproses dalam satu Rollup dalam satu waktu. Karena terbatas pada Rollup, validator dengan spesifikasi yang sama harus dapat melacak dan memvalidasinya.
Node ringan dapat menggunakan bukti ZK untuk memverifikasi status rantai dengan biaya murah.
Penjelajah blok adalah bagian integral dari sistem blockchain. Mereka memfasilitasi kueri keseimbangan aset asli, kueri kontrak pintar, dan memelihara riwayat transaksi dari blok pertama hingga blok saat ini. Dalam sistem multi-rollup ini, penjelajah blok harus memberikan tampilan terpadu dari semua sub-rollup.
! [Rollup] (https://img-cdn.gateio.im/resized-social/moments-40baef27dd-217876ee66-dd1a6f-6d2ef1)
Cara kerjanya (penjelajah blok)
Penjelajah blok harus mendukung kueri saldo hub Rollup (untuk aset asli) dan riwayat transaksi semua sub-Rollup.
Mirip dengan sistem rollup tunggal, penjelajah blok menggunakan indeks untuk mencapai hal ini. Sistem multi-rollup harus mengindeks semua rollup untuk menyediakan layanan kueri untuk kontrak pintar apa pun di sistem.
Jika hub rollup memutuskan untuk menambah jumlah rollup anak, penjelajah blok harus siap menanganinya. Mereka harus menyediakan lebih banyak kapasitas sub-rollup, atau memiliki sistem orkestrasi container (seperti Kubernetes) untuk meningkatkan skala sub-rollup secara otomatis.
Mereka harus menggunakan nomor blok dari lapisan DA untuk konsistensi di semua rollup.
Kesimpulannya
Desain di atas hanyalah sebuah ide saat ini dan saya mungkin tidak akan pernah menerapkannya lebih jauh, namun saya harap ide tersebut menarik minat Anda. Jika desainnya disetujui, saya berharap dapat digunakan dalam proyek Rollup dan mendekati kemampuan perluasan EIP-4844, Celestia atau Avail.