*Teruskan Judul Asli:Menjelajahi Jembatan Ethereum Canonical Eclipse dan Sistem Pembuktian
Gerhana terdiri dari tiga lapisan:
Diagram di bawah ini mengilustrasikan bagaimana modul-modul ini berinteraksi:
Sisa artikel ini akan berfokus pada jembatan Ethereum Eclipse, seperti yang ditunjukkan pada diagram. Blobstream akan menyampaikan pengesahan yang ditandatangani oleh validator Celestia yang ditetapkan untuk menyatakan kepada Ethereum bahwa data untuk sekumpulan slot Eclipse telah diterbitkan dengan benar. Hal ini memungkinkan jembatan Eclipse untuk memverifikasi data yang disediakan untuk bukti penipuan terhadap akar data yang ditandatangani dari Celestia. Pada bagian selanjutnya, kami akan menguraikan proses yang digunakan:
Alur ketika pengguna melakukan deposit ke Eclipse melalui jembatan Ethereum asli dirangkum sebagai berikut:
Diagram di bawah ini menunjukkan interaksi antara Ethereum, Celestia, dan Eksekutor SVM selama alur setoran yang dijelaskan di atas:
Alur untuk menerbitkan sejumlah slot Eclipse ke Celestia sebagai gumpalan data dirangkum di bawah ini:
Diagram di bawah ini dari Celestia menjelaskan bagaimana komitmen data dalam blok Celestia tertentu disimpan dalam header blok:
Sama halnya dengan L2 lain yang menggunakan bukti kecurangan (Arbitrum, Fuel, dan banyak lainnya), penarikan dari Eclipse membutuhkan periode tantangan di mana verifikator dapat mengirimkan bukti kecurangan jika terjadi transisi state yang tidak valid:
Pada bagian terakhir ini, kami akan merinci desain sistem anti-penipuan Eclipse, yang terinspirasi oleh Anatoly Yakovenko dan John Adler. Umumnya, untuk setiap bukti kecurangan, seorang verifikator harus melakukannya:
Dalam kasus Eclipse, (1) Celestia merklisasi gumpalan kumpulan blok yang dikirim oleh eksekutor SVM Eclipse, yang memungkinkan bukti penyertaan transaksi melalui saksi Merkle. Untuk (2), tidak seperti L2 berbasis EVM, yang memposting akar Merkle ke pohon state global, untuk alasan kinerja, Eclipse tidak memperbarui pohon state global berdasarkan transaksi per transaksi, tetapi kami akan menjelaskan bagaimana kami memastikan kebenaran input secara lebih rinci di bawah ini. Terakhir, dalam kasus (3), verifier Eclipse menghasilkan zk-proof dari output untuk transaksi yang diberikan, tidak seperti pendekatan permainan verifikasi interaktif yang umum digunakan pada L2 berbasis EVM.
Semua transaksi Eclipse dapat direpresentasikan sebagai mengambil daftar akun input, mengeksekusi transaksi, dan menghasilkan daftar akun output yang dihasilkan:
Pengamatan penting untuk desain bukti penipuan kami adalah bahwa untuk eksekusi transaksi, selalu ada kasus bahwa setiap S_InputAccount haruslah S_OutputAccount dari beberapa transaksi sebelumnya. Hal ini memungkinkan kita untuk mereferensikan transaksi terakhir dalam rantai yang menghasilkan akun input tertentu alih-alih memberikan saksi Merkle ke pohon negara global. Sebagai hasil dari desain kami, kami memperkenalkan jenis tuduhan penipuan tambahan, seperti referensi ke transaksi sebelumnya yang tidak valid atau akun input yang telah "dibelanjakan" oleh beberapa transaksi selanjutnya. Kami akan menjelaskan proses ini secara lebih rinci di bawah ini:
Selain itu, kumpulan data transaksi yang diposting ke Celestia memiliki komitmen yang disampaikan ke kontrak Ethereum. Komitmen-komitmen tersebut terdiri dari:
Seperti yang dijelaskan di atas, ada beberapa cara yang dapat menyebabkan suatu batch menjadi tidak benar:
Jika ada batch komitmen yang ditemukan tidak benar, kontrak jembatan Eclipse akan mengembalikan jembatan ke komitmen batch terakhir yang terbukti benar. Perhatikan bahwa transaksi tidak pernah dihapus dari rantai, bahkan dalam kasus penipuan, sehingga hanya komitmen yang perlu dihitung ulang.
Artikel ini bertujuan untuk memberikan panduan tingkat tinggi untuk jembatan kepercayaan Eclipse di Ethereum dan menjelaskan beberapa detail tentang desain bukti penipuan kami. Mengingat sifat modular dari L2 kami dan banyaknya teknologi yang kami miliki, kami akan terus merilis artikel dan dokumentasi tentang berbagai aspek Eclipse dalam beberapa minggu ke depan.
Untuk terlibat dengan Eclipse Testnet, silakan ikuti petunjuk kami di sini. Anda bisa menghubungi kami di Twitter atau Discord untuk pertanyaan spesifik tentang Testnet, bridge, atau pertanyaan teknis.
[1]: Node yang menghitung hasil dari transaksi SVM dan menerapkan keluaran akhirnya ke state baru Eclipse
[2]: Operator yang meneruskan peristiwa on-chain antara Ethereum dan Eclipse
[3]: Perhatikan, bahwa eksekutor, bukan sequencer, yang memposting ini. Jika disertakan dalam data yang diposkan oleh sequencer, ini akan menambah kerumitan, karena sequencer dapat melewatkan satu hitungan, sehingga tidak mungkin bagi eksekutor untuk melakukan tugasnya dengan benar. Hal ini dapat dikompensasi dalam desain bukti penipuan, tetapi akan menambah kerumitan. Keuntungan kedua dengan hanya memiliki eksekutor yang memposting penghitungan adalah memudahkan untuk mengizinkan penggantian transaksi untuk diposting ke Celestia, jika diinginkan.
[4]: Akun SVM dapat diwakili dengan hash yang unik. Satu-satunya cara hash ini dimodifikasi adalah melalui transaksi.
[5]: Untuk melakukan hal ini tanpa melakukan hashing yang berlebihan, kita akan menjalankan trace pada setiap program yang dieksekusi untuk melihat bagian mana dari setiap sysvar yang digunakan yang benar-benar diakses. Hal ini dimungkinkan, tetapi akan membutuhkan modifikasi pada penerjemah BPF Solana.
[6]: Ini termasuk data untuk percobaan transaksi yang gagal dieksekusi.
*Teruskan Judul Asli:Menjelajahi Jembatan Ethereum Canonical Eclipse dan Sistem Pembuktian
Gerhana terdiri dari tiga lapisan:
Diagram di bawah ini mengilustrasikan bagaimana modul-modul ini berinteraksi:
Sisa artikel ini akan berfokus pada jembatan Ethereum Eclipse, seperti yang ditunjukkan pada diagram. Blobstream akan menyampaikan pengesahan yang ditandatangani oleh validator Celestia yang ditetapkan untuk menyatakan kepada Ethereum bahwa data untuk sekumpulan slot Eclipse telah diterbitkan dengan benar. Hal ini memungkinkan jembatan Eclipse untuk memverifikasi data yang disediakan untuk bukti penipuan terhadap akar data yang ditandatangani dari Celestia. Pada bagian selanjutnya, kami akan menguraikan proses yang digunakan:
Alur ketika pengguna melakukan deposit ke Eclipse melalui jembatan Ethereum asli dirangkum sebagai berikut:
Diagram di bawah ini menunjukkan interaksi antara Ethereum, Celestia, dan Eksekutor SVM selama alur setoran yang dijelaskan di atas:
Alur untuk menerbitkan sejumlah slot Eclipse ke Celestia sebagai gumpalan data dirangkum di bawah ini:
Diagram di bawah ini dari Celestia menjelaskan bagaimana komitmen data dalam blok Celestia tertentu disimpan dalam header blok:
Sama halnya dengan L2 lain yang menggunakan bukti kecurangan (Arbitrum, Fuel, dan banyak lainnya), penarikan dari Eclipse membutuhkan periode tantangan di mana verifikator dapat mengirimkan bukti kecurangan jika terjadi transisi state yang tidak valid:
Pada bagian terakhir ini, kami akan merinci desain sistem anti-penipuan Eclipse, yang terinspirasi oleh Anatoly Yakovenko dan John Adler. Umumnya, untuk setiap bukti kecurangan, seorang verifikator harus melakukannya:
Dalam kasus Eclipse, (1) Celestia merklisasi gumpalan kumpulan blok yang dikirim oleh eksekutor SVM Eclipse, yang memungkinkan bukti penyertaan transaksi melalui saksi Merkle. Untuk (2), tidak seperti L2 berbasis EVM, yang memposting akar Merkle ke pohon state global, untuk alasan kinerja, Eclipse tidak memperbarui pohon state global berdasarkan transaksi per transaksi, tetapi kami akan menjelaskan bagaimana kami memastikan kebenaran input secara lebih rinci di bawah ini. Terakhir, dalam kasus (3), verifier Eclipse menghasilkan zk-proof dari output untuk transaksi yang diberikan, tidak seperti pendekatan permainan verifikasi interaktif yang umum digunakan pada L2 berbasis EVM.
Semua transaksi Eclipse dapat direpresentasikan sebagai mengambil daftar akun input, mengeksekusi transaksi, dan menghasilkan daftar akun output yang dihasilkan:
Pengamatan penting untuk desain bukti penipuan kami adalah bahwa untuk eksekusi transaksi, selalu ada kasus bahwa setiap S_InputAccount haruslah S_OutputAccount dari beberapa transaksi sebelumnya. Hal ini memungkinkan kita untuk mereferensikan transaksi terakhir dalam rantai yang menghasilkan akun input tertentu alih-alih memberikan saksi Merkle ke pohon negara global. Sebagai hasil dari desain kami, kami memperkenalkan jenis tuduhan penipuan tambahan, seperti referensi ke transaksi sebelumnya yang tidak valid atau akun input yang telah "dibelanjakan" oleh beberapa transaksi selanjutnya. Kami akan menjelaskan proses ini secara lebih rinci di bawah ini:
Selain itu, kumpulan data transaksi yang diposting ke Celestia memiliki komitmen yang disampaikan ke kontrak Ethereum. Komitmen-komitmen tersebut terdiri dari:
Seperti yang dijelaskan di atas, ada beberapa cara yang dapat menyebabkan suatu batch menjadi tidak benar:
Jika ada batch komitmen yang ditemukan tidak benar, kontrak jembatan Eclipse akan mengembalikan jembatan ke komitmen batch terakhir yang terbukti benar. Perhatikan bahwa transaksi tidak pernah dihapus dari rantai, bahkan dalam kasus penipuan, sehingga hanya komitmen yang perlu dihitung ulang.
Artikel ini bertujuan untuk memberikan panduan tingkat tinggi untuk jembatan kepercayaan Eclipse di Ethereum dan menjelaskan beberapa detail tentang desain bukti penipuan kami. Mengingat sifat modular dari L2 kami dan banyaknya teknologi yang kami miliki, kami akan terus merilis artikel dan dokumentasi tentang berbagai aspek Eclipse dalam beberapa minggu ke depan.
Untuk terlibat dengan Eclipse Testnet, silakan ikuti petunjuk kami di sini. Anda bisa menghubungi kami di Twitter atau Discord untuk pertanyaan spesifik tentang Testnet, bridge, atau pertanyaan teknis.
[1]: Node yang menghitung hasil dari transaksi SVM dan menerapkan keluaran akhirnya ke state baru Eclipse
[2]: Operator yang meneruskan peristiwa on-chain antara Ethereum dan Eclipse
[3]: Perhatikan, bahwa eksekutor, bukan sequencer, yang memposting ini. Jika disertakan dalam data yang diposkan oleh sequencer, ini akan menambah kerumitan, karena sequencer dapat melewatkan satu hitungan, sehingga tidak mungkin bagi eksekutor untuk melakukan tugasnya dengan benar. Hal ini dapat dikompensasi dalam desain bukti penipuan, tetapi akan menambah kerumitan. Keuntungan kedua dengan hanya memiliki eksekutor yang memposting penghitungan adalah memudahkan untuk mengizinkan penggantian transaksi untuk diposting ke Celestia, jika diinginkan.
[4]: Akun SVM dapat diwakili dengan hash yang unik. Satu-satunya cara hash ini dimodifikasi adalah melalui transaksi.
[5]: Untuk melakukan hal ini tanpa melakukan hashing yang berlebihan, kita akan menjalankan trace pada setiap program yang dieksekusi untuk melihat bagian mana dari setiap sysvar yang digunakan yang benar-benar diakses. Hal ini dimungkinkan, tetapi akan membutuhkan modifikasi pada penerjemah BPF Solana.
[6]: Ini termasuk data untuk percobaan transaksi yang gagal dieksekusi.