Telah terjadi ledakan Cambrian dari rollups di Ethereum. Saat ini, ada 91 L2 & L3 langsung dan 82 yang akan datang menurut L2Beat. Sebagai hasilnya, ada juga sejumlah signifikan fragmentasi dalam hal likuiditas, pengalaman pengguna, dan alat pengembang. Solusi saat ini untuk interoperabilitas masih jauh dari memuaskan, karena mengandalkan kombinasi jembatan pihak ketiga, aset yang dibungkus secara eksternal, dan kerangka kerja niat, masing-masing membawa serangkaian masalah mereka sendiri.
Dalam artikel ini, kami melakukan survei terhadap lanskap interoperabilitas tanpa kepercayaan dengan mendefinisikan dan membahas enam tingkat solusi interoperabilitas antara ekosistem rollup yang terfragmentasi.
Kami mulai dengan kasus default penarikan secara asinkron dari rollup sumber ke L1 dan secara manual memasukkannya ke rollup target, dan kami berakhir dengan arsitektur hipotetis untuk komposabilitas lintas rollup dalam satu transaksi. Kami akan mengeksplorasi bagaimana setiap tingkat interopabilitas akan memengaruhi pengalaman pengguna, pengalaman pengembang, potensi MEV, dan rollup itu sendiri (terkait secara khusus dengan perubahan infrastruktur).
Kami sebagian besar berada dalam lingkup Ethereum dan L2nya untuk artikel ini dan fokus secara eksklusif pada interopabilitas tanpa kepercayaan. Dalam hal ini, 'interopabilitas tanpa kepercayaan' merujuk pada saluran dalam protokol yang tidak memerlukan pihak ketiga untuk memfasilitasi transfer di luar infrastruktur yang diperlukan seperti yang sudah banyak diwajibkan oleh rollups.
Pada dasarnya, interopabilitas tanpa kepercayaan memerlukan sumber daya bersama yang harus diakses oleh dua protokol yang ingin berinteropabilitas. Dalam kasus Ethereum L1, semua kontrak pintar berada dalam lingkungan yang sama dan berbagi seluruh status Ethereum, sehingga mereka akan selalu memiliki tingkat interopabilitas tertinggi. Namun, L2 hanya berbagi lapisan penyelesaian melalui kontrak jembatan terpisah sehingga interopabilitas jauh lebih terbatas.
Komponen infrastruktur bersama yang penting yang dapat memajukan kita sepanjang tangga interoperabilitas tanpa kepercayaan adalah pengurutan bersama, pembangun super, dan penyelesaian bersama. Jaminan dan fungsionalitas baru yang dibuka oleh lapisan bersama ini terkait, tetapi pada dasarnya bersifat ortogonal dalam alam.
Untuk memulai, kita akan terlebih dahulu mendefinisikan enam tingkat interoperabilitas tanpa kepercayaan yang disebutkan dalam pengantar:
Untuk memahami setiap level lebih lanjut, kami akan melalui kasus penggunaan kunci berikut untuk mendemonstrasikan kekuatan setiap level serta implikasinya bagi pengguna, pengembang, rollups, dan pencari MEV.
Pertanyaan-pertanyaan berikut akan dijawab juga untuk lebih memahami dampak pada pemegang saham kunci dalam ekosistem rollup mana pun.
Ikhtisar perubahan bagi pemangku kepentingan utama
N/A
Seperti yang didefinisikan, ini mengacu pada mode default saat ini dari interoperabilitas tanpa kepercayaan. Semua rollups didefinisikan sebagai demikian karena mereka dibangun di L1 sebagai lapisan penyelesaian dan memiliki akses ke L1 tersebut hanya melalui kontrak jembatan di mana mereka secara berkala memposting pembaruan status untuk mengamankan jaringan.
Satu-satunya cara kanonikal untuk melakukan aktivitas cross-rollup tanpa kepercayaan dalam kasus ini adalah dengan menarik aset dari rollup sumber melalui jembatan kanonikal dan menyetorkannya secara manual ke rollup target setelah tersedia di L1.
Untuk rollup optimis, latensi penarikan ini adalah sekitar 7 hari untuk memperhitungkan jendela bukti kesalahan. Pada ZK rollup, latensi penarikan kurang pasti tetapi bisa berlangsung dari 15 menit hingga satu hari penuh, seperti halnya dengan ZkSync.
Selain itu, pertukaran atom peer-to-peer menggunakan kontrak pintar memungkinkan, tetapi ini adalah kasus penggunaan yang lebih kecil dan tidak secara efektif dapat diskalakan.
Perlu dicatat solusi pihak ketiga yang saat ini ada:
Kedua contoh ilustratif kami memerlukan solusi pihak ketiga untuk memfasilitasi.
Kirim-Ke-Diri-Sendiri:
Cross-Rollup Limit Order
Karena ini adalah kasus default, tidak perlu membahas perubahan pada UX, DevEx, MEV, dan rollups.
Sequencer Bersama *
Inklusi atom hanya menjamin bahwa bundel lintas-rollup akan disertakan dalam blok berikutnya.
Ini memerlukan sequencer bersama, tetapi secara teoritis dapat dicapai tanpanya secara manual jika sequencer pada dua rollup yang diberikan tidak berada pada throughput maksimum (seseorang bisa dengan mudah mengirimkan dua transaksi ke masing-masing rollup secara individual). Inilah mengapa kami menambahkan asterisk pada infrastruktur yang diperlukan.
Namun, kami tidak berasumsi bahwa sequencer bersama menjalankan node penuh dari masing-masing rollups yang terhubung sehingga tidak dapat menjamin eksekusi berhasil untuk bundel transaksi. Sequencer bersama dalam kasus ini hanya dapat menjamin bahwa transaksi tersebut terbentuk dengan baik dan akan disertakan dalam blok berikutnya, tetapi tidak selalu berhasil dieksekusi.
Karena tidak ada jaminan eksekusi, tidak mungkin untuk memanfaatkan inklusi atomik secara programatik dengan cara yang bermakna tanpa menimbulkan risiko pembatalan salah satu transaksi. Sebagai hasilnya, kita pada dasarnya berada dalam kasus yang sama persis dengan interoperabilitas Async L1.
Pertimbangkan untuk memulai pertukaran cross-rollup sederhana dengan hanya menjamin inklusi atomik:
Kami mungkin memiliki jaminan inklusi atomik dalam hal kedua transaksi sebenarnya disertakan dalam blok-blok berikutnya untuk masing-masing rollup, tetapi jika transaksi pertama mengalami revert dan yang kedua tidak, pengguna akan salah dialokasikan dana di rantai tujuan tanpa mengunci atau membakarnya di rantai sumber dan kami akan menghadapi masalah pengeluaran ganda.
Setiap solusi interoperabilitas, baik itu jembatan likuiditas, kerangka tujuan, atau pertukaran xERC-20, akan rentan terhadap risiko ini dan tidak mungkin untuk mengatasinya. Karena risiko ini, solusi saat ini memerlukan transaksi awal untuk berhasil dieksekusi dan dimasukkan dalam blok pada rantai sumber sebelum menggunakan pelayan untuk meneruskan pesan yang dipancarkan dan mengeksekusi transaksi kedua pada rantai tujuan.
Takeaway Penting: Inklusi Atom tidak berdampak berarti terhadap potensi interoperabilitas
Lapisan agregasi bukti // Kontrak jembatan bersama
Ini adalah tempat di mana hal-hal mulai menjadi lebih menarik. Sebagai hasil dari kontrak jembatan bersama, semua likuiditas yang disimpan ke dalam ekosistem rollup dari L1 dapat dipindahkan secara bebas di antara semua rollup yang terhubung. Sampai titik ini, kita tidak dapat melakukan pertukaran antara rollup tanpa melalui saluran kanonikal, melingkari aset secara eksternal, atau menggunakan solusi pihak ketiga.
Mengapa membangun kontrak jembatan bersama? Untuk memahami mengapa memiliki kontrak jembatan bersama memungkinkan kita untuk memindahkan aset secara trustless di seluruh rollups, pertama-tama pertimbangkan apa yang akan terjadi jika memungkinkan memiliki Eth di Rollup A, membakarnya, dan membuatnya secara native di Rollup B tanpa kontrak jembatan bersama di L1.
Kami melihat bahwa setiap rollup akan tidak sinkron dengan kontrak jembatan mereka di mainnet. Kontrak jembatan rollup B masih memiliki 50 Eth, sehingga pengguna tidak akan dapat menarik 1 Eth mereka ke L1.
Untuk menyelesaikan ini, protokol pembungkus aset eksternal dibangun yang mengeluarkan versi terbungkus eksternal dari token melintasi rollups yang melambangkan versi asli di tempat lain dalam jaringan.
Dengan lapisan penyelesaian bersama, situasinya terlihat berbeda. Karena semua likuiditas untuk setiap rollup yang terhubung terkunci dalam kontrak jembatan yang sama, seseorang dapat bergerak bebas antara rollups, karena jumlah total nilai dalam kontrak jembatan tetap sama dan selalu dapat ditarik.
Perlu ada pembaruan pada tingkat kontrak L1 tentangdimana likuiditas adalah untuk memungkinkan pengguna menarik dari mana saja, tetapi ini sepele karena semua rollups yang terhubung dapat membaca/menulis ke kontrak bersama.
Dengan lapisan penyelesaian bersama, alur dapat terlihat seperti berikut untuk kasus pengiriman sendiri yang sederhana.
Kirim ke Sendiri:
Kita dapat memperluas aliran ini ke semua ERC-20 yang memiliki kontrak di semua rollups dalam ekosistem penyelesaian bersama.
Seseorang dapat menganggap kontrak jembatan bersama sebagai lapisan pesan dalam protokol antara semua rollups yang terhubung, sehingga secara teoritis aliran ini sebenarnya dapat diperluas ke standar pesan sembarang.
Ini membuat kita lebih dekat dengan komposabilitas, tetapi karena langkah-langkah yang diperlukan untuk mengumpulkan bukti dan meneruskan pesan hanya setelah perubahan status tercermin di L1, maka terdapat latensi tinggi (meskipun jauh lebih rendah dari kasus asinkron L1). Selain itu, aktivitas cross-rollup kompleks seperti menggunakan DEX di rollup B yang dimulai dengan aset di rollup A untuk pesanan limit cross-rollup masih akan menjadi proses yang melelahkan bagi pengguna karena mereka masih harus mengirim ke diri sendiri dan secara manual menukar aset di rollup tujuan. Tidak dapat membuat bundel cross-rollup atomik dalam kasus ini.
Manfaat penting lainnya dengan penyelesaian bersama adalah bahwa ada lebih sedikit gesekan bagi penyedia likuiditas atau penyelesaian yang mengisi pesanan di berbagai lingkungan. Karena likuiditas mereka di semua rollups terhubung tercermin dalam kontrak jembatan yang sama, mereka tidak perlu menunggu jendela penarikan penuh untuk mengelola likuiditas silang rollup mereka.
Poin Penting: Penyelesaian bersama memungkinkan transfer aset tanpa pembungkusan eksternal dan pesan sewenang-wenang di semua rollups yang berbagi kontrak jembatan dan lapisan agregasi bukti, namun akan tetap ada keterlambatan yang tidak dapat diabaikan (meskipun jauh lebih pendek dari L1 Async) dan tidak dapat membuat bundel atomik lintas rollup.
Sequencer Bersama // Superbuilders
Eksekusi atom memungkinkan kita untuk menjamin eksekusi berhasil bundel lintas-rollup, tetapi seperti yang akan kita lihat, jumlah kasus penggunaan untuk bundel lintas-rollup yang tidak memiliki transaksi yang bergantung lebih sedikit dari yang mungkin diharapkan pada awalnya.
Jika ada transaksi tunggal dalam bundel transaksi yang saling tergantung mengalami pembalikan, maka semua transaksi lain menjadi tidak valid dan juga harus mengalami pembalikan, seperti halnya pembakaran dan pencetakan token di seluruh rollups. Pencetakan token pada rollup tujuan bergantung pada token tersebut telah dibakar atau dikunci pada rollup sumber, jadi kita bisa mengatakan bahwa bundel transaksi pembakaran dan pencetakan adalah bundel transaksi yang saling tergantung.
Membuat bundel ini tidak mungkin tanpa pihak tengah seperti superbuilder yang dapat membuat transaksi tujuan.
Pertimbangkan apa yang harus benar untuk bundel swap lintas rollup dibangun tanpa pihak lain selain pengguna. Sebuah bundel harus dibuat untuk mengunci/membakar aset di rollup sumber dan membuat aset di rollup tujuan, tetapi kami menghadapi masalah:
Kita bisa melihat bahwa meskipun kita bisa menjamin eksekusi bundel lintas-rollup, kita menghadapi kesulitan dalam cara kita bisa membangunnya pada awalnya untuk mentransfer aset bernilai.
Namun, masih ada beberapa kasus penggunaan untuk eksekusi atomik tanpa paket lintas rollup yang bergantung. Salah satunya adalah arbitrase lintas rollup:
Arbitrase DEX Cross-Rollup dengan Eksekusi Atom
Karena tidak ada ketergantungan yang ketat antara transaksi-transaksi ini, siapa pun dapat membuat bundel atom ini dan mengirimkannya ke sequencer bersama yang akan menjamin eksekusi atomik.
Namun, untuk memiliki jaminan eksekusi atomik pada awalnya, rollups harus memilih menjadi bagian dari sequencer bersama dan superbuilder yang akan menjalankan node penuh dari semua rollups yang terhubung, sehingga langkah dari eksekusi atomik ke komposabilitas tingkat blok cukup kecil dan semua solusi pengurutan bersama akan melakukannya. Satu-satunya perubahan yang diperlukan adalah pembangun blok atau pihak ketiga lainnya harus dapat membuat transaksi atas nama pengguna untuk menyelesaikan bundel lintas-rollup yang saling tergantung.
Tidak mungkin infrastruktur akan dibangun yang hanya memungkinkan eksekusi atomik tanpa melangkah lebih jauh untuk memiliki komposabilitas. Keuntungan relatif melompat ke komposabilitas tingkat blok penuh jauh lebih besar daripada kesulitan dalam mencapainya mengingat infrastruktur sudah memiliki eksekusi atomik.
Poin Penting: Meskipun bundel lintas rollup dijamin untuk dieksekusi secara atomik, tidak jelas bagaimana bundel-bundel ini akan dibangun jika tidak ada superbuilder yang membuat bagian dari bundel, sehingga tidak mungkin bahwa eksekusi atomik itu sendiri akan berdampak pada interoperabilitas. Sequencer/superbuilder bersama seharusnya secara default membangun daripada komposabilitas tingkat blok.
Sequencer Bersama // Superbuilder // Lapisan agregasi bukti// Kontrak jembatan bersama
(* = optional)
Dalam banyak wacana seputar sequencers bersama dan lapisan penyelesaian bersama, istilah yang sering digunakan untuk menggambarkan tingkat interoperabilitas ini adalah "komposabilitas sinkron".
Kami telah sedikit memodifikasi istilah ini agar lebih deskriptif. Memperbarui nomenklatur ke Komposabilitas Tingkat Blok menunjukkan bahwa memungkinkan untuk menggabungkan antara dua rollup dalam bundel transaksi lintas-rollup yang akan disertakan dan dieksekusi dengan sukses dalam blok berikutnya. Komposabilitas sinkron mungkin tertukar dengan komposabilitas tingkat transaksi, yang akan kami jelajahi di bagian berikutnya. Pentingnya, ini membutuhkan pihak tengah (infrastruktur pengurutan bersama) yang dapat menjadi pemimpin dan pencipta bundel transaksi yang saling bergantung.
Pada tingkat ini, kita mulai melihat komposabilitas sejati antara rollups di luar sekadar pengiriman ke diri sendiri untuk berpartisipasi dalam aplikasi di rollup lain.
Dengan penambahan sequencer bersama yang dapat membuat transaksi, kami sekarang dapat membuat bundel lintas rollup yang dapat dimanfaatkan oleh pengembang secara terprogram.
Ada dua kasus yang perlu dipertimbangkan:
Dalam kedua kasus, kita dapat membuat bundel cross-rollup untuk aktivitas yang lebih kompleks tetapi dalam kasus kedua dengan penyelesaian bersama kita dapat menggunakan aset asli, yang dapat memiliki implikasi harga yang lebih baik untuk aktivitas DEX cross-rollup, misalnya.
Dengan komposabilitas tingkat blok, kita memiliki keuntungan dari eksekusi atomik dengan kemampuan tambahan untuk membuat bundel transaksi yang saling bergantung. Mari kita periksa dua contoh ilustratif kita.
Transfer Token yang Sama melalui xERC-20 (Tanpa Penyelesaian Bersama):
Dengan lapisan penyelesaian bersama, aliran menjadi lebih disederhanakan karena tidak perlu terlebih dahulu membungkus ERC-20 sebagai xERC-20 untuk pertukaran.
Sekarang mari kita periksa pesanan batas cross-rollup untuk membeli ERC-20 pada Rollup B dengan ERC-20 awal (berbeda) dari Rollup A dan ERC-20 yang dihasilkan dikirim kembali ke Rollup A. Dalam hal ini, kami tidak berasumsi bahwa kami memiliki lapisan penyelesaian bersama, meskipun aliran serupa ada dalam kasus dengan satu. Satu-satunya perbedaan adalah tidak juga harus membungkus aset secara eksternal.
Berikut adalah transaksi yang diperlukan dalam kasus ini:
Berikut adalah alur potensial bagaimana hal ini bisa berfungsi:
Limit Order Cross-Rollup dalam Lingkungan Composable Tingkat Blok
Aliran:
Karena superbuilder menciptakan blok dan mengurutkan transaksi, ia dapat mensimulasikan setiap transaksi dan mengabaikan bundel jika salah satu transaksi akan dibalik. Misalnya, jika ditemukan bahwa pengguna tidak akan menerima pemenuhan lengkap pada pesanan limit mereka, bundel akan diabaikan sebelum blok dieksekusi.
Dalam kasus infrastruktur urutan bersama tanpa lapisan penyelesaian bersama, versi terbungkus secara eksternal dari Eth dan xERC-20 perlu digunakan, yang bisa mengakibatkan kondisi pasar yang lebih buruk di DEX karena kolam likuiditas yang lebih tipis untuk aset terbungkus. Dalam hal ini, pengguna mungkin harus menggunakan batas yang lebih lunak dengan selipan yang lebih ditoleransi dan bisa mendapatkan harga yang kurang optimal. Satu pengecualian dari hal ini adalah jika USDC terlibat. Memungkinkan bahwa urut-urutan bersama tanpa penyelesaian bersama bisa bekerja dengan Circle untuk memperoleh hak eksklusif atas kontrak USDC di seluruh rollup untuk memfasilitasi transfer USDC asli dan pertukaran lintas rollup.
Dengan lapisan penyelesaian bersama, pembungkus eksternal ini tidak diperlukan, dan kemungkinan akan memberikan harga yang lebih baik karena adanya kolam likuiditas yang lebih dalam untuk pertukaran aset asli, tetapi alirannya pada dasarnya sama.
Rollups perlu dengan optimis mempercayai sequencer/superbuilder bersama untuk membuat bundel lintas-rollup yang valid. Hal ini terutama karena bundel lintas-rollup ini berisi transaksi yang saling tergantung yang rollup individu tidak dapat verifikasi hingga setelah blok ditambahkan ke rantai masing-masing rollup dan diagregasi ke lapisan penyelesaian di L1. Contohnya adalah pembakaran dan pencetakan awal Eth dari sumber ke tujuan. Sangat penting bahwa Eth benar-benar dibakar di rantai sumber sebelum dicetak di rantai tujuan, jika tidak double spend bisa terjadi.
Namun, untuk menjalankan paket lengkap ini dalam satu blok, semua transaksi harus ada dalam blok tersebut bahkan jika transaksi tersebut mewakili keadaan yang tidak valid sebelum blok itu sendiri (seperti memiliki Eth di rantai tujuan untuk pertukaran jika pengguna tidak memiliki sebelum blok). Karena itu, kita harus mempercayai pengurutan bahwa ia benar-benar telah menyertakan dependensi yang valid dalam bundel cross-rollup. Seseorang dapat mengajukan bukti setelahnya untuk membuktikan validitas setiap transaksi.
Hal ini sedikit kurang penting saat menggunakan aset yang dibungkus, namun, karena mereka tidak berdampak pada likuiditas asli yang disimpan di L1, tetapi mekanisme cadangan masih harus ada untuk menanggulangi risiko pengurutan berbahaya atau bug dalam kode yang memungkinkan bundel transaksi dieksekusi dengan transaksi tergantung yang dibatalkan.
Perubahan Tingkat VM // Penyelesaian Bersama // Superbuilders
Komposabilitas tingkat transaksi merujuk pada tingkat fungsionalitas yang sama yang dibagikan oleh kontrak pintar pada satu rantai EVM. Dalam hal ini, satu transaksi dapat memperbarui status di beberapa rollups secara bersamaan, dan memastikan bahwa setiap perubahan status sebelum panggilan apa pun dapat dikembalikan jika panggilan tersebut tidak berhasil. Secara efektif, bundel atom transaksi dalam lingkungan komposabel tingkat blok dapat dilakukan dalam satu transaksi lintas rollup dan lintas VM tunggal. Hal ini memerlukan perubahan tingkat VM untuk semua rollup yang terhubung ditambah lapisan penyelesaian bersama dan superbuilder.
Kami menggambarkan mekanisme yang mungkin di sini pada tingkat tinggi. (Konstruksi ini karena tim Espresso sesuai pengetahuan kami). Pertama, pengguna mengirimkan transaksi cross-rollup ke semua rollup yang statusnya diubah oleh transaksi atau superbuilder yang dapat membangun blok di semua rollup yang terlibat. Superbuilder mensimulasikan transaksi dan membentuk daftar pasangan input-output, satu untuk setiap rollup yang terlibat, yang menentukan pesan cross-rollup yang diperlukan dan diharapkan dalam transaksi. (Perhatikan bahwa superbuilder hanya dapat melakukannya jika memiliki hak pengurutan yang aman untuk semua rollup yang terlibat untuk jangka waktu tertentu). Superbuilder kemudian mengirimkan blok simulasi ke pengusul setiap rollup, bersama dengan daftar pasangan input-output yang diharapkan untuk setiap transaksi cross-rollup. Selama eksekusi, setiap rollup menjalankan fungsi transisi statusnya sendiri seperti biasa dengan asumsi input dari daftar transaksi cross-rollup sudah benar. Selama penyelesaian, daftar input-output kemudian dapat dibandingkan silang dan terbukti aman selama fase agregasi bukti di lapisan penyelesaian bersama. Secara khusus, jika input yang diharapkan untuk transaksi cross-rollup tidak cocok dengan apa yang telah ditentukan rollup lain sebagai output, proses penyelesaian akan menolak seluruh transaksi cross-rollup.
Meskipun terdapat fungsi baru yang terbatas yang terungkap dengan komposabilitas tingkat transaksi di luar pinjaman kilat, pengalaman pengembang untuk membuat aplikasi cross-rollup dapat ditingkatkan secara signifikan. Kemampuan untuk membuat dapps yang berinteraksi dengan semua rantai terhubung tanpa mempertimbangkan bundel cross-rollup akan membuat inovasi dalam lanskap multi-rollup jauh lebih mudah. Selain itu, mungkin kasus penggunaan dan perilaku baru akan muncul sebagai hasilnya.
Ada banyak pertanyaan desain terbuka untuk komposabilitas tingkat transaksi. Salah satunya, bagaimana pengembang dapat memilih masuk atau keluar dari panggilan lintas-rollup untuk kebutuhan kontrak pintar mereka harus dipertimbangkan dengan hati-hati. Memungkinkan komposabilitas sewenang-wenang tanpa batasan berarti kita kembali ke rollup monolitik. Kami pikir jawabannya di sini adalah bagi pengembang untuk secara eksplisit menunjukkan di mana komposabilitas lintas-rollup diperlukan dalam kontrak mereka, misalnya melalui modifier Solidity seperti komposabel
yang menandai titik-titik masuk tertentu dari kontrak sebagai dapat dipanggil cross rollup.
Setelah menjelajahi detail teknis dari setiap tingkat interoperabilitas yang didefinisikan di sini, kita dapat merangkum:
Pada saat ini, ada banyak proyek yang muncul untuk menciptakan ekosistem yang dapat saling beroperasi secara alami. Berikut adalah gambaran umum dari lanskap ini:
Peta Ekosistem
Masih ada pertanyaan terbuka tentang nuansa teknis dalam kerangka yang diuraikan dalam artikel ini. Misalnya, membangun bundel dalam ekosistem komposable tingkat blok untuk pesanan batas lintas-rollup mungkin memiliki desain yang lebih rinci untuk menangani kasus pemenuhan parsial dan toleransi geseran untuk pesanan pasar. Kami menawarkan satu solusi potensial di sini untuk mengembalikan bundel pesanan batas lintas-rollup jika pesanan tidak sepenuhnya terpenuhi, tetapi ruang desain terbuka.
Selain itu, layak untuk dikaitkan dengan kesadaran saat ini yang tumbuh di ruang tentang appchains. Appchains adalah L2 long-tail yang entah umum atau berizin dengan tujuan menyilokan protokol terkait tertentu di satu L2. Kemungkinan besar bahwa ketika kita mencapai komposabilitas tingkat blok juga akan mulai melihat lingkungan appchain mendapatkan daya tarik signifikan sebagai hasil dari memiliki komposabilitas asli antara semua jaringan yang terhubung.
Pada saat ini, masih sulit untuk menginisiasi likuiditas ke appchains ini, tetapi begitu sebuah rantai yang lebih besar terhubung sebagai jalan masuk ke lingkungan yang dapat dioperasikan, kemungkinan besar kita akan melihat ekosistem taman yang dikelilingi dinding sekitar infrastruktur bersama.
Pertanyaan terbuka penting lainnya adalah bagaimana ruang desain di sekitar superbuilders akan diselesaikan. Pengembangan di depan ini masih cukup muda, dan belum jelas apa yang akan menjadi cara yang paling efisien dan efektif untuk membuat jaringan pembangun canggih yang dapat membuat bundel lintas-rollup. Di mana bundel lintas-rollup ini secara optimal akan disertakan dalam blok, dan dampak pada pendapatan rollup adalah pertanyaan terbuka dengan berbagai strategi yang dieksplorasi oleh banyak tim.
Pada akhirnya, masa depan kemungkinan akan melibatkan kombinasi solusi bridging in-protocol dan out-of-protocol dan mereka akan bekerja bersama-sama untuk menyediakan proses interoperabilitas yang jauh lebih baik untuk semua orang. Kami percaya perkembangan yang didefinisikan dalam artikel ini dapat berfungsi sebagai panduan bagi pengembang dan pembangun yang berfokus untuk membuat interoperabilitas lintas-rollup lebih mulus bagi pengguna akhir.
Kemungkinan besar akan ada paradigma baru yang benar-benar untuk interaksi lintas-rollup yang belum ditemukan. Jika Anda seorang pengembang yang bekerja pada pendekatan yang memperluas topik di sini atau tidak tercakup di atas, silakan mencapai keluar(DMS terbuka). Teknologi akhirnya cukup matang untuk memberikan tekanan nyata dalam menemukan solusi untuk fragmentasi likuiditas/ekosistem, dan kami selalu mencari koneksi dengan para pendiri yang mengambil risiko untuk membangun solusi kreatif.
Artikel ini tumbuh dari diskusi bulat interoperabilitas rollup yang sangat berwawasan yang diselenggarakan oleh 1kx di EthCC. Terima kasih khusus kepada Noah Pravecek, Ellie Davidson, dan Terryuntuk membaca versi awal artikel ini dan memberikan umpan balik, serta kepada Marti, mteam, dan Bo Duuntuk percakapan lebih lanjut tentang subjek ini.
Artikel ini dicetak ulang dari [cermin], Kemukakan Judul Asli‘Trustless Interoperability antara Rollups: Lanskap, Konstruksi, dan Tantangannya’, Semua hak cipta milik penulis asli [Marshall Vyletel Jr.]. Jika ada keberatan terhadap cetak ulang ini, silakan hubungi Belajar Gatetim, dan mereka akan menanganinya dengan cepat.
Penolakan Tanggung Jawab: Pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan saran investasi apapun.
Terjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel-artikel yang diterjemahkan dilarang.
株式
Telah terjadi ledakan Cambrian dari rollups di Ethereum. Saat ini, ada 91 L2 & L3 langsung dan 82 yang akan datang menurut L2Beat. Sebagai hasilnya, ada juga sejumlah signifikan fragmentasi dalam hal likuiditas, pengalaman pengguna, dan alat pengembang. Solusi saat ini untuk interoperabilitas masih jauh dari memuaskan, karena mengandalkan kombinasi jembatan pihak ketiga, aset yang dibungkus secara eksternal, dan kerangka kerja niat, masing-masing membawa serangkaian masalah mereka sendiri.
Dalam artikel ini, kami melakukan survei terhadap lanskap interoperabilitas tanpa kepercayaan dengan mendefinisikan dan membahas enam tingkat solusi interoperabilitas antara ekosistem rollup yang terfragmentasi.
Kami mulai dengan kasus default penarikan secara asinkron dari rollup sumber ke L1 dan secara manual memasukkannya ke rollup target, dan kami berakhir dengan arsitektur hipotetis untuk komposabilitas lintas rollup dalam satu transaksi. Kami akan mengeksplorasi bagaimana setiap tingkat interopabilitas akan memengaruhi pengalaman pengguna, pengalaman pengembang, potensi MEV, dan rollup itu sendiri (terkait secara khusus dengan perubahan infrastruktur).
Kami sebagian besar berada dalam lingkup Ethereum dan L2nya untuk artikel ini dan fokus secara eksklusif pada interopabilitas tanpa kepercayaan. Dalam hal ini, 'interopabilitas tanpa kepercayaan' merujuk pada saluran dalam protokol yang tidak memerlukan pihak ketiga untuk memfasilitasi transfer di luar infrastruktur yang diperlukan seperti yang sudah banyak diwajibkan oleh rollups.
Pada dasarnya, interopabilitas tanpa kepercayaan memerlukan sumber daya bersama yang harus diakses oleh dua protokol yang ingin berinteropabilitas. Dalam kasus Ethereum L1, semua kontrak pintar berada dalam lingkungan yang sama dan berbagi seluruh status Ethereum, sehingga mereka akan selalu memiliki tingkat interopabilitas tertinggi. Namun, L2 hanya berbagi lapisan penyelesaian melalui kontrak jembatan terpisah sehingga interopabilitas jauh lebih terbatas.
Komponen infrastruktur bersama yang penting yang dapat memajukan kita sepanjang tangga interoperabilitas tanpa kepercayaan adalah pengurutan bersama, pembangun super, dan penyelesaian bersama. Jaminan dan fungsionalitas baru yang dibuka oleh lapisan bersama ini terkait, tetapi pada dasarnya bersifat ortogonal dalam alam.
Untuk memulai, kita akan terlebih dahulu mendefinisikan enam tingkat interoperabilitas tanpa kepercayaan yang disebutkan dalam pengantar:
Untuk memahami setiap level lebih lanjut, kami akan melalui kasus penggunaan kunci berikut untuk mendemonstrasikan kekuatan setiap level serta implikasinya bagi pengguna, pengembang, rollups, dan pencari MEV.
Pertanyaan-pertanyaan berikut akan dijawab juga untuk lebih memahami dampak pada pemegang saham kunci dalam ekosistem rollup mana pun.
Ikhtisar perubahan bagi pemangku kepentingan utama
N/A
Seperti yang didefinisikan, ini mengacu pada mode default saat ini dari interoperabilitas tanpa kepercayaan. Semua rollups didefinisikan sebagai demikian karena mereka dibangun di L1 sebagai lapisan penyelesaian dan memiliki akses ke L1 tersebut hanya melalui kontrak jembatan di mana mereka secara berkala memposting pembaruan status untuk mengamankan jaringan.
Satu-satunya cara kanonikal untuk melakukan aktivitas cross-rollup tanpa kepercayaan dalam kasus ini adalah dengan menarik aset dari rollup sumber melalui jembatan kanonikal dan menyetorkannya secara manual ke rollup target setelah tersedia di L1.
Untuk rollup optimis, latensi penarikan ini adalah sekitar 7 hari untuk memperhitungkan jendela bukti kesalahan. Pada ZK rollup, latensi penarikan kurang pasti tetapi bisa berlangsung dari 15 menit hingga satu hari penuh, seperti halnya dengan ZkSync.
Selain itu, pertukaran atom peer-to-peer menggunakan kontrak pintar memungkinkan, tetapi ini adalah kasus penggunaan yang lebih kecil dan tidak secara efektif dapat diskalakan.
Perlu dicatat solusi pihak ketiga yang saat ini ada:
Kedua contoh ilustratif kami memerlukan solusi pihak ketiga untuk memfasilitasi.
Kirim-Ke-Diri-Sendiri:
Cross-Rollup Limit Order
Karena ini adalah kasus default, tidak perlu membahas perubahan pada UX, DevEx, MEV, dan rollups.
Sequencer Bersama *
Inklusi atom hanya menjamin bahwa bundel lintas-rollup akan disertakan dalam blok berikutnya.
Ini memerlukan sequencer bersama, tetapi secara teoritis dapat dicapai tanpanya secara manual jika sequencer pada dua rollup yang diberikan tidak berada pada throughput maksimum (seseorang bisa dengan mudah mengirimkan dua transaksi ke masing-masing rollup secara individual). Inilah mengapa kami menambahkan asterisk pada infrastruktur yang diperlukan.
Namun, kami tidak berasumsi bahwa sequencer bersama menjalankan node penuh dari masing-masing rollups yang terhubung sehingga tidak dapat menjamin eksekusi berhasil untuk bundel transaksi. Sequencer bersama dalam kasus ini hanya dapat menjamin bahwa transaksi tersebut terbentuk dengan baik dan akan disertakan dalam blok berikutnya, tetapi tidak selalu berhasil dieksekusi.
Karena tidak ada jaminan eksekusi, tidak mungkin untuk memanfaatkan inklusi atomik secara programatik dengan cara yang bermakna tanpa menimbulkan risiko pembatalan salah satu transaksi. Sebagai hasilnya, kita pada dasarnya berada dalam kasus yang sama persis dengan interoperabilitas Async L1.
Pertimbangkan untuk memulai pertukaran cross-rollup sederhana dengan hanya menjamin inklusi atomik:
Kami mungkin memiliki jaminan inklusi atomik dalam hal kedua transaksi sebenarnya disertakan dalam blok-blok berikutnya untuk masing-masing rollup, tetapi jika transaksi pertama mengalami revert dan yang kedua tidak, pengguna akan salah dialokasikan dana di rantai tujuan tanpa mengunci atau membakarnya di rantai sumber dan kami akan menghadapi masalah pengeluaran ganda.
Setiap solusi interoperabilitas, baik itu jembatan likuiditas, kerangka tujuan, atau pertukaran xERC-20, akan rentan terhadap risiko ini dan tidak mungkin untuk mengatasinya. Karena risiko ini, solusi saat ini memerlukan transaksi awal untuk berhasil dieksekusi dan dimasukkan dalam blok pada rantai sumber sebelum menggunakan pelayan untuk meneruskan pesan yang dipancarkan dan mengeksekusi transaksi kedua pada rantai tujuan.
Takeaway Penting: Inklusi Atom tidak berdampak berarti terhadap potensi interoperabilitas
Lapisan agregasi bukti // Kontrak jembatan bersama
Ini adalah tempat di mana hal-hal mulai menjadi lebih menarik. Sebagai hasil dari kontrak jembatan bersama, semua likuiditas yang disimpan ke dalam ekosistem rollup dari L1 dapat dipindahkan secara bebas di antara semua rollup yang terhubung. Sampai titik ini, kita tidak dapat melakukan pertukaran antara rollup tanpa melalui saluran kanonikal, melingkari aset secara eksternal, atau menggunakan solusi pihak ketiga.
Mengapa membangun kontrak jembatan bersama? Untuk memahami mengapa memiliki kontrak jembatan bersama memungkinkan kita untuk memindahkan aset secara trustless di seluruh rollups, pertama-tama pertimbangkan apa yang akan terjadi jika memungkinkan memiliki Eth di Rollup A, membakarnya, dan membuatnya secara native di Rollup B tanpa kontrak jembatan bersama di L1.
Kami melihat bahwa setiap rollup akan tidak sinkron dengan kontrak jembatan mereka di mainnet. Kontrak jembatan rollup B masih memiliki 50 Eth, sehingga pengguna tidak akan dapat menarik 1 Eth mereka ke L1.
Untuk menyelesaikan ini, protokol pembungkus aset eksternal dibangun yang mengeluarkan versi terbungkus eksternal dari token melintasi rollups yang melambangkan versi asli di tempat lain dalam jaringan.
Dengan lapisan penyelesaian bersama, situasinya terlihat berbeda. Karena semua likuiditas untuk setiap rollup yang terhubung terkunci dalam kontrak jembatan yang sama, seseorang dapat bergerak bebas antara rollups, karena jumlah total nilai dalam kontrak jembatan tetap sama dan selalu dapat ditarik.
Perlu ada pembaruan pada tingkat kontrak L1 tentangdimana likuiditas adalah untuk memungkinkan pengguna menarik dari mana saja, tetapi ini sepele karena semua rollups yang terhubung dapat membaca/menulis ke kontrak bersama.
Dengan lapisan penyelesaian bersama, alur dapat terlihat seperti berikut untuk kasus pengiriman sendiri yang sederhana.
Kirim ke Sendiri:
Kita dapat memperluas aliran ini ke semua ERC-20 yang memiliki kontrak di semua rollups dalam ekosistem penyelesaian bersama.
Seseorang dapat menganggap kontrak jembatan bersama sebagai lapisan pesan dalam protokol antara semua rollups yang terhubung, sehingga secara teoritis aliran ini sebenarnya dapat diperluas ke standar pesan sembarang.
Ini membuat kita lebih dekat dengan komposabilitas, tetapi karena langkah-langkah yang diperlukan untuk mengumpulkan bukti dan meneruskan pesan hanya setelah perubahan status tercermin di L1, maka terdapat latensi tinggi (meskipun jauh lebih rendah dari kasus asinkron L1). Selain itu, aktivitas cross-rollup kompleks seperti menggunakan DEX di rollup B yang dimulai dengan aset di rollup A untuk pesanan limit cross-rollup masih akan menjadi proses yang melelahkan bagi pengguna karena mereka masih harus mengirim ke diri sendiri dan secara manual menukar aset di rollup tujuan. Tidak dapat membuat bundel cross-rollup atomik dalam kasus ini.
Manfaat penting lainnya dengan penyelesaian bersama adalah bahwa ada lebih sedikit gesekan bagi penyedia likuiditas atau penyelesaian yang mengisi pesanan di berbagai lingkungan. Karena likuiditas mereka di semua rollups terhubung tercermin dalam kontrak jembatan yang sama, mereka tidak perlu menunggu jendela penarikan penuh untuk mengelola likuiditas silang rollup mereka.
Poin Penting: Penyelesaian bersama memungkinkan transfer aset tanpa pembungkusan eksternal dan pesan sewenang-wenang di semua rollups yang berbagi kontrak jembatan dan lapisan agregasi bukti, namun akan tetap ada keterlambatan yang tidak dapat diabaikan (meskipun jauh lebih pendek dari L1 Async) dan tidak dapat membuat bundel atomik lintas rollup.
Sequencer Bersama // Superbuilders
Eksekusi atom memungkinkan kita untuk menjamin eksekusi berhasil bundel lintas-rollup, tetapi seperti yang akan kita lihat, jumlah kasus penggunaan untuk bundel lintas-rollup yang tidak memiliki transaksi yang bergantung lebih sedikit dari yang mungkin diharapkan pada awalnya.
Jika ada transaksi tunggal dalam bundel transaksi yang saling tergantung mengalami pembalikan, maka semua transaksi lain menjadi tidak valid dan juga harus mengalami pembalikan, seperti halnya pembakaran dan pencetakan token di seluruh rollups. Pencetakan token pada rollup tujuan bergantung pada token tersebut telah dibakar atau dikunci pada rollup sumber, jadi kita bisa mengatakan bahwa bundel transaksi pembakaran dan pencetakan adalah bundel transaksi yang saling tergantung.
Membuat bundel ini tidak mungkin tanpa pihak tengah seperti superbuilder yang dapat membuat transaksi tujuan.
Pertimbangkan apa yang harus benar untuk bundel swap lintas rollup dibangun tanpa pihak lain selain pengguna. Sebuah bundel harus dibuat untuk mengunci/membakar aset di rollup sumber dan membuat aset di rollup tujuan, tetapi kami menghadapi masalah:
Kita bisa melihat bahwa meskipun kita bisa menjamin eksekusi bundel lintas-rollup, kita menghadapi kesulitan dalam cara kita bisa membangunnya pada awalnya untuk mentransfer aset bernilai.
Namun, masih ada beberapa kasus penggunaan untuk eksekusi atomik tanpa paket lintas rollup yang bergantung. Salah satunya adalah arbitrase lintas rollup:
Arbitrase DEX Cross-Rollup dengan Eksekusi Atom
Karena tidak ada ketergantungan yang ketat antara transaksi-transaksi ini, siapa pun dapat membuat bundel atom ini dan mengirimkannya ke sequencer bersama yang akan menjamin eksekusi atomik.
Namun, untuk memiliki jaminan eksekusi atomik pada awalnya, rollups harus memilih menjadi bagian dari sequencer bersama dan superbuilder yang akan menjalankan node penuh dari semua rollups yang terhubung, sehingga langkah dari eksekusi atomik ke komposabilitas tingkat blok cukup kecil dan semua solusi pengurutan bersama akan melakukannya. Satu-satunya perubahan yang diperlukan adalah pembangun blok atau pihak ketiga lainnya harus dapat membuat transaksi atas nama pengguna untuk menyelesaikan bundel lintas-rollup yang saling tergantung.
Tidak mungkin infrastruktur akan dibangun yang hanya memungkinkan eksekusi atomik tanpa melangkah lebih jauh untuk memiliki komposabilitas. Keuntungan relatif melompat ke komposabilitas tingkat blok penuh jauh lebih besar daripada kesulitan dalam mencapainya mengingat infrastruktur sudah memiliki eksekusi atomik.
Poin Penting: Meskipun bundel lintas rollup dijamin untuk dieksekusi secara atomik, tidak jelas bagaimana bundel-bundel ini akan dibangun jika tidak ada superbuilder yang membuat bagian dari bundel, sehingga tidak mungkin bahwa eksekusi atomik itu sendiri akan berdampak pada interoperabilitas. Sequencer/superbuilder bersama seharusnya secara default membangun daripada komposabilitas tingkat blok.
Sequencer Bersama // Superbuilder // Lapisan agregasi bukti// Kontrak jembatan bersama
(* = optional)
Dalam banyak wacana seputar sequencers bersama dan lapisan penyelesaian bersama, istilah yang sering digunakan untuk menggambarkan tingkat interoperabilitas ini adalah "komposabilitas sinkron".
Kami telah sedikit memodifikasi istilah ini agar lebih deskriptif. Memperbarui nomenklatur ke Komposabilitas Tingkat Blok menunjukkan bahwa memungkinkan untuk menggabungkan antara dua rollup dalam bundel transaksi lintas-rollup yang akan disertakan dan dieksekusi dengan sukses dalam blok berikutnya. Komposabilitas sinkron mungkin tertukar dengan komposabilitas tingkat transaksi, yang akan kami jelajahi di bagian berikutnya. Pentingnya, ini membutuhkan pihak tengah (infrastruktur pengurutan bersama) yang dapat menjadi pemimpin dan pencipta bundel transaksi yang saling bergantung.
Pada tingkat ini, kita mulai melihat komposabilitas sejati antara rollups di luar sekadar pengiriman ke diri sendiri untuk berpartisipasi dalam aplikasi di rollup lain.
Dengan penambahan sequencer bersama yang dapat membuat transaksi, kami sekarang dapat membuat bundel lintas rollup yang dapat dimanfaatkan oleh pengembang secara terprogram.
Ada dua kasus yang perlu dipertimbangkan:
Dalam kedua kasus, kita dapat membuat bundel cross-rollup untuk aktivitas yang lebih kompleks tetapi dalam kasus kedua dengan penyelesaian bersama kita dapat menggunakan aset asli, yang dapat memiliki implikasi harga yang lebih baik untuk aktivitas DEX cross-rollup, misalnya.
Dengan komposabilitas tingkat blok, kita memiliki keuntungan dari eksekusi atomik dengan kemampuan tambahan untuk membuat bundel transaksi yang saling bergantung. Mari kita periksa dua contoh ilustratif kita.
Transfer Token yang Sama melalui xERC-20 (Tanpa Penyelesaian Bersama):
Dengan lapisan penyelesaian bersama, aliran menjadi lebih disederhanakan karena tidak perlu terlebih dahulu membungkus ERC-20 sebagai xERC-20 untuk pertukaran.
Sekarang mari kita periksa pesanan batas cross-rollup untuk membeli ERC-20 pada Rollup B dengan ERC-20 awal (berbeda) dari Rollup A dan ERC-20 yang dihasilkan dikirim kembali ke Rollup A. Dalam hal ini, kami tidak berasumsi bahwa kami memiliki lapisan penyelesaian bersama, meskipun aliran serupa ada dalam kasus dengan satu. Satu-satunya perbedaan adalah tidak juga harus membungkus aset secara eksternal.
Berikut adalah transaksi yang diperlukan dalam kasus ini:
Berikut adalah alur potensial bagaimana hal ini bisa berfungsi:
Limit Order Cross-Rollup dalam Lingkungan Composable Tingkat Blok
Aliran:
Karena superbuilder menciptakan blok dan mengurutkan transaksi, ia dapat mensimulasikan setiap transaksi dan mengabaikan bundel jika salah satu transaksi akan dibalik. Misalnya, jika ditemukan bahwa pengguna tidak akan menerima pemenuhan lengkap pada pesanan limit mereka, bundel akan diabaikan sebelum blok dieksekusi.
Dalam kasus infrastruktur urutan bersama tanpa lapisan penyelesaian bersama, versi terbungkus secara eksternal dari Eth dan xERC-20 perlu digunakan, yang bisa mengakibatkan kondisi pasar yang lebih buruk di DEX karena kolam likuiditas yang lebih tipis untuk aset terbungkus. Dalam hal ini, pengguna mungkin harus menggunakan batas yang lebih lunak dengan selipan yang lebih ditoleransi dan bisa mendapatkan harga yang kurang optimal. Satu pengecualian dari hal ini adalah jika USDC terlibat. Memungkinkan bahwa urut-urutan bersama tanpa penyelesaian bersama bisa bekerja dengan Circle untuk memperoleh hak eksklusif atas kontrak USDC di seluruh rollup untuk memfasilitasi transfer USDC asli dan pertukaran lintas rollup.
Dengan lapisan penyelesaian bersama, pembungkus eksternal ini tidak diperlukan, dan kemungkinan akan memberikan harga yang lebih baik karena adanya kolam likuiditas yang lebih dalam untuk pertukaran aset asli, tetapi alirannya pada dasarnya sama.
Rollups perlu dengan optimis mempercayai sequencer/superbuilder bersama untuk membuat bundel lintas-rollup yang valid. Hal ini terutama karena bundel lintas-rollup ini berisi transaksi yang saling tergantung yang rollup individu tidak dapat verifikasi hingga setelah blok ditambahkan ke rantai masing-masing rollup dan diagregasi ke lapisan penyelesaian di L1. Contohnya adalah pembakaran dan pencetakan awal Eth dari sumber ke tujuan. Sangat penting bahwa Eth benar-benar dibakar di rantai sumber sebelum dicetak di rantai tujuan, jika tidak double spend bisa terjadi.
Namun, untuk menjalankan paket lengkap ini dalam satu blok, semua transaksi harus ada dalam blok tersebut bahkan jika transaksi tersebut mewakili keadaan yang tidak valid sebelum blok itu sendiri (seperti memiliki Eth di rantai tujuan untuk pertukaran jika pengguna tidak memiliki sebelum blok). Karena itu, kita harus mempercayai pengurutan bahwa ia benar-benar telah menyertakan dependensi yang valid dalam bundel cross-rollup. Seseorang dapat mengajukan bukti setelahnya untuk membuktikan validitas setiap transaksi.
Hal ini sedikit kurang penting saat menggunakan aset yang dibungkus, namun, karena mereka tidak berdampak pada likuiditas asli yang disimpan di L1, tetapi mekanisme cadangan masih harus ada untuk menanggulangi risiko pengurutan berbahaya atau bug dalam kode yang memungkinkan bundel transaksi dieksekusi dengan transaksi tergantung yang dibatalkan.
Perubahan Tingkat VM // Penyelesaian Bersama // Superbuilders
Komposabilitas tingkat transaksi merujuk pada tingkat fungsionalitas yang sama yang dibagikan oleh kontrak pintar pada satu rantai EVM. Dalam hal ini, satu transaksi dapat memperbarui status di beberapa rollups secara bersamaan, dan memastikan bahwa setiap perubahan status sebelum panggilan apa pun dapat dikembalikan jika panggilan tersebut tidak berhasil. Secara efektif, bundel atom transaksi dalam lingkungan komposabel tingkat blok dapat dilakukan dalam satu transaksi lintas rollup dan lintas VM tunggal. Hal ini memerlukan perubahan tingkat VM untuk semua rollup yang terhubung ditambah lapisan penyelesaian bersama dan superbuilder.
Kami menggambarkan mekanisme yang mungkin di sini pada tingkat tinggi. (Konstruksi ini karena tim Espresso sesuai pengetahuan kami). Pertama, pengguna mengirimkan transaksi cross-rollup ke semua rollup yang statusnya diubah oleh transaksi atau superbuilder yang dapat membangun blok di semua rollup yang terlibat. Superbuilder mensimulasikan transaksi dan membentuk daftar pasangan input-output, satu untuk setiap rollup yang terlibat, yang menentukan pesan cross-rollup yang diperlukan dan diharapkan dalam transaksi. (Perhatikan bahwa superbuilder hanya dapat melakukannya jika memiliki hak pengurutan yang aman untuk semua rollup yang terlibat untuk jangka waktu tertentu). Superbuilder kemudian mengirimkan blok simulasi ke pengusul setiap rollup, bersama dengan daftar pasangan input-output yang diharapkan untuk setiap transaksi cross-rollup. Selama eksekusi, setiap rollup menjalankan fungsi transisi statusnya sendiri seperti biasa dengan asumsi input dari daftar transaksi cross-rollup sudah benar. Selama penyelesaian, daftar input-output kemudian dapat dibandingkan silang dan terbukti aman selama fase agregasi bukti di lapisan penyelesaian bersama. Secara khusus, jika input yang diharapkan untuk transaksi cross-rollup tidak cocok dengan apa yang telah ditentukan rollup lain sebagai output, proses penyelesaian akan menolak seluruh transaksi cross-rollup.
Meskipun terdapat fungsi baru yang terbatas yang terungkap dengan komposabilitas tingkat transaksi di luar pinjaman kilat, pengalaman pengembang untuk membuat aplikasi cross-rollup dapat ditingkatkan secara signifikan. Kemampuan untuk membuat dapps yang berinteraksi dengan semua rantai terhubung tanpa mempertimbangkan bundel cross-rollup akan membuat inovasi dalam lanskap multi-rollup jauh lebih mudah. Selain itu, mungkin kasus penggunaan dan perilaku baru akan muncul sebagai hasilnya.
Ada banyak pertanyaan desain terbuka untuk komposabilitas tingkat transaksi. Salah satunya, bagaimana pengembang dapat memilih masuk atau keluar dari panggilan lintas-rollup untuk kebutuhan kontrak pintar mereka harus dipertimbangkan dengan hati-hati. Memungkinkan komposabilitas sewenang-wenang tanpa batasan berarti kita kembali ke rollup monolitik. Kami pikir jawabannya di sini adalah bagi pengembang untuk secara eksplisit menunjukkan di mana komposabilitas lintas-rollup diperlukan dalam kontrak mereka, misalnya melalui modifier Solidity seperti komposabel
yang menandai titik-titik masuk tertentu dari kontrak sebagai dapat dipanggil cross rollup.
Setelah menjelajahi detail teknis dari setiap tingkat interoperabilitas yang didefinisikan di sini, kita dapat merangkum:
Pada saat ini, ada banyak proyek yang muncul untuk menciptakan ekosistem yang dapat saling beroperasi secara alami. Berikut adalah gambaran umum dari lanskap ini:
Peta Ekosistem
Masih ada pertanyaan terbuka tentang nuansa teknis dalam kerangka yang diuraikan dalam artikel ini. Misalnya, membangun bundel dalam ekosistem komposable tingkat blok untuk pesanan batas lintas-rollup mungkin memiliki desain yang lebih rinci untuk menangani kasus pemenuhan parsial dan toleransi geseran untuk pesanan pasar. Kami menawarkan satu solusi potensial di sini untuk mengembalikan bundel pesanan batas lintas-rollup jika pesanan tidak sepenuhnya terpenuhi, tetapi ruang desain terbuka.
Selain itu, layak untuk dikaitkan dengan kesadaran saat ini yang tumbuh di ruang tentang appchains. Appchains adalah L2 long-tail yang entah umum atau berizin dengan tujuan menyilokan protokol terkait tertentu di satu L2. Kemungkinan besar bahwa ketika kita mencapai komposabilitas tingkat blok juga akan mulai melihat lingkungan appchain mendapatkan daya tarik signifikan sebagai hasil dari memiliki komposabilitas asli antara semua jaringan yang terhubung.
Pada saat ini, masih sulit untuk menginisiasi likuiditas ke appchains ini, tetapi begitu sebuah rantai yang lebih besar terhubung sebagai jalan masuk ke lingkungan yang dapat dioperasikan, kemungkinan besar kita akan melihat ekosistem taman yang dikelilingi dinding sekitar infrastruktur bersama.
Pertanyaan terbuka penting lainnya adalah bagaimana ruang desain di sekitar superbuilders akan diselesaikan. Pengembangan di depan ini masih cukup muda, dan belum jelas apa yang akan menjadi cara yang paling efisien dan efektif untuk membuat jaringan pembangun canggih yang dapat membuat bundel lintas-rollup. Di mana bundel lintas-rollup ini secara optimal akan disertakan dalam blok, dan dampak pada pendapatan rollup adalah pertanyaan terbuka dengan berbagai strategi yang dieksplorasi oleh banyak tim.
Pada akhirnya, masa depan kemungkinan akan melibatkan kombinasi solusi bridging in-protocol dan out-of-protocol dan mereka akan bekerja bersama-sama untuk menyediakan proses interoperabilitas yang jauh lebih baik untuk semua orang. Kami percaya perkembangan yang didefinisikan dalam artikel ini dapat berfungsi sebagai panduan bagi pengembang dan pembangun yang berfokus untuk membuat interoperabilitas lintas-rollup lebih mulus bagi pengguna akhir.
Kemungkinan besar akan ada paradigma baru yang benar-benar untuk interaksi lintas-rollup yang belum ditemukan. Jika Anda seorang pengembang yang bekerja pada pendekatan yang memperluas topik di sini atau tidak tercakup di atas, silakan mencapai keluar(DMS terbuka). Teknologi akhirnya cukup matang untuk memberikan tekanan nyata dalam menemukan solusi untuk fragmentasi likuiditas/ekosistem, dan kami selalu mencari koneksi dengan para pendiri yang mengambil risiko untuk membangun solusi kreatif.
Artikel ini tumbuh dari diskusi bulat interoperabilitas rollup yang sangat berwawasan yang diselenggarakan oleh 1kx di EthCC. Terima kasih khusus kepada Noah Pravecek, Ellie Davidson, dan Terryuntuk membaca versi awal artikel ini dan memberikan umpan balik, serta kepada Marti, mteam, dan Bo Duuntuk percakapan lebih lanjut tentang subjek ini.
Artikel ini dicetak ulang dari [cermin], Kemukakan Judul Asli‘Trustless Interoperability antara Rollups: Lanskap, Konstruksi, dan Tantangannya’, Semua hak cipta milik penulis asli [Marshall Vyletel Jr.]. Jika ada keberatan terhadap cetak ulang ini, silakan hubungi Belajar Gatetim, dan mereka akan menanganinya dengan cepat.
Penolakan Tanggung Jawab: Pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan saran investasi apapun.
Terjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel-artikel yang diterjemahkan dilarang.