Menganalisis Solusi Sequencer Terdesentralisasi Aztec

Menengah2/28/2024, 6:04:00 AM
Penulis artikel ini mengambil proyek ZK-Rollup yang terkenal, Aztec, sebagai contoh, dan menggunakan dua proposal terbaru bernama B52 dan Fernet yang diusulkan oleh Aztec Labs sebagai titik awal untuk menganalisis bagaimana ZKR dapat mencapai desentralisasi node sequencer.
  • Teruskan Judul Asli: Desentralisasi Rollup: Menganalisis Solusi Desentralisasi Sequencer Aztec

Pendahuluan: Sejak Rollup menjadi terkenal, desentralisasi Sequencer selalu menjadi fokus komunitas Ethereum/Celestia, dan juga merupakan gunung yang sulit untuk dilewati dalam pekerjaan pengembangan Layer2. Dalam hal ini, berbagai paket Rollup telah mengusulkan ide untuk desentralisasi simpul, memberikan imajinasi yang sangat luas untuk topik ini.

Penulis artikel ini mengambil proyek ZKRollup yang terkenal, Aztec, sebagai contoh, dan menggunakan dua proposal bernama B52 dan Fernet yang baru-baru ini diusulkan oleh Aztec Labs sebagai titik awal, untuk menganalisis bagi para pembaca bagaimana ZKR merealisasikan desentralisasi node sequencer.

Proposal B52: Skema Pengurutan Tanpa Izin

Proposal B52 bermaksud untuk mencapai tujuan-tujuan berikut ini (secara ideal):

  1. Jaringan pengurut terdesentralisasi, dengan node L2 yang memilih pengusul untuk setiap putaran.

  2. Jaringan prover terdesentralisasi, dengan kebutuhan perangkat keras yang rendah untuk node prover.

  3. Rollup memiliki ketahanan sensor yang sangat baik secara keseluruhan.

  4. Nilai MEV yang dihasilkan pada L2 diperoleh oleh node L2.

  5. Ketika blok L2 dikirimkan ke lapisan DA, hasil akhir yang relatif efektif dapat diperoleh. Finalitas yang tidak dapat diubah membutuhkan penyelesaian penyerahan Bukti Validitas.

  6. Token L2 dapat memiliki model tokenomic yang layak.

  7. Baik blok L2 maupun data transaksi disebarkan dalam jaringan p2p L2.

  8. L2 mewarisi keamanan L1.

(Proposal B52 mengasumsikan struktur Rollup, Pengusul pada dasarnya adalah Sequencer)

Rencana ini membagi seluruh proses produksi blok L2 ke dalam tiga tahap waktu:

Jendela Proposal Blok (BPW) Jendela Penerimaan Blok (BAW) Kemajuan negara

Diantaranya, tahap BPW (Block Proposal) adalah proses di mana beberapa Sequencer mengusulkan blok yang berbeda dan bersaing, dan Prover memilih kandidat blok untuk dipilih. BAW (Block Acceptance) adalah proses di mana Prover membangun Bukti Validitas untuk blok dan mengirimkannya. Jendela Proposal Blok (Fase Proposal Blok): BPW dapat dibagi lagi menjadi tiga tahap - Block Proposal, Block Voting, Agregasi.


(Diagram proses Jendela Proposal Blok)

Tahap Block Proposal (BP): setiap orang dalam tahap ini dapat mengumpulkan transaksi dan menyiarkan konten BP mereka sendiri. Konten BP akan mencakup tiga bagian: hash urutan txs, persentase hadiah prover, jumlah token burn.

txs urutan hash: Pengusul memilih kumpulan transaksi yang paling berharga dari kumpulan transaksi L2 (mempool), mengurutkannya, dan kemudian menempatkan nilai hash dari transaksi-transaksi ini ke dalam blok yang sedang mereka bangun. persentase hadiah prover: Persentase hadiah blok yang dibagikan Sequencer kepada Prover. jumlah token yang dibakar: Jumlah L2 Native Token yang diusulkan oleh Pengusul untuk dibakar, kemudian mereka mengirimkan BP mereka ke jaringan p2p L2.

Tahap Pemungutan Suara Blok:

Setelah Prover menerima BP yang diusulkan oleh Proposer yang berbeda dalam jaringan p2p, mereka akan memilih BP yang memungkinkan mereka untuk mendapatkan hadiah terbanyak. Namun, komposisi suara itu istimewa:

Vote ={BlockHash, Index of Proof Tree}

BlockHash adalah hash dari Proposal yang ingin dipilih oleh Prover, dan Index of Proof Tree adalah nilai indeks daun dari Pohon Bukti yang ingin Prover ikuti (akan dijelaskan nanti)

Agregasi: Pengusul mengumpulkan suara dari Prover pada BP di jaringan p2p L2, menggabungkannya dan memasukkannya ke dalam BP, dan mengirimkannya ke L1 (setiap BP biasanya hanya berisi catatan suara yang terkait dengan dirinya sendiri).

Di sini, perlu ditekankan prasyarat agar BP dapat dipilih dan dimasukkan ke dalam buku besar Rollp:

Memiliki skor tertinggi:

NILAI(y) = NUM_PROVEN (x)^3 * BURN_BID(z)^2`

NUM_PROVERS (x) adalah jumlah suara Prover yang telah diterima BP ini, dan BURN_BID adalah jumlah Token L2 yang diusulkan untuk dibakar oleh BP ini. Karena semakin tinggi BURN_BID, semakin sedikit reward yang akan didapatkan oleh pengusul BP pada akhirnya, sehingga nilai ini harus ditetapkan dengan tepat.

Pada saat yang sama, BP ini harus diserahkan ke L1 sebelum akhir Jendela Proposal Blok, dan bukti bukti validitas yang sesuai harus diunggah ke L1 sebelum akhir Jendela Penerimaan Blok.

Catatan: Dalam penilaian BP, jumlah suara menempati bobot terbesar, diikuti oleh jumlah token yang terbakar. Pada saat yang sama, skema B52 memungkinkan beberapa pengusul (sebenarnya pengurut) untuk bersaing mendapatkan kuota BP yang valid.

Skema B52 hanya mengharuskan Pengusul (sequencer) untuk menentukan jumlah token burn di BP mereka sendiri (mirip dengan metode EIP1559) tanpa harus melakukan stake token terlebih dahulu, yang dapat membuat jaringan menjadi lebih tanpa izin (tidak ada izin masuk), dan juga kondusif untuk deflasi Token asli L2.

Selain itu, BP tidak berisi data transaksi yang lengkap, tetapi hanya berisi hash dari urutan transaksi, yang mirip dengan skema PBS Ethereum, yang bertujuan untuk menghindari MEV diintip dan didahului oleh Pengusul lain.

Penjelasan rinci tentang Jendela Penerimaan Blok:

(Diagram skematik Jendela Penerimaan Blok, ditulis sebagai Penerimaan Bukti dalam gambar)

Setelah Jendela Proposal Blok berakhir, Prover harus mengungkapkan data transaksi lengkap mereka yang sesuai dengan BP mereka. Jika BP yang dipilih oleh Prover terpilih (memiliki nilai tertinggi, yang dapat ditanyakan melalui kontrak L1), mereka harus membuat Sub Pohon Bukti yang sesuai dengan Indeks Pohon Bukti yang diberikan saat pemungutan suara.

Asumsikan bahwa sebuah blok Aztec berisi 2^13 = 16384 jumlah transaksi, dan terdapat 2048 pembukti, maka setiap pembukti membuat sebuah sub pohon bukti yang terdiri dari 2^3 = 8 transaksi. Kemudian prover menyiarkan sub pohon bukti yang dibangunnya ke jaringan p2p L2. Setelah menerimanya, pengusul akan mengumpulkan semua sub bukti pohon menjadi sebuah bukti blok.

Selanjutnya, Propsoer akan mengirimkan bukti agregat ke kontrak L1 Rollup, yang akan memverifikasi kebenaran bukti ini dan hasil transisi negara yang sesuai. Perlu dicatat di sini bahwa jika Prover dengan sengaja tidak mengirimkan bukti, maka tidak hanya gagal menerima dividen block reward yang dijanjikan oleh Proposer, tetapi juga akan dipotong, karena untuk menjadi Prover harus melakukan staking token terlebih dahulu. Oleh karena itu, tidak seperti Pengusul (Sequencer), Prover tidak memiliki izin.

Penjelasan rinci tentang Uang Muka Negara:

Setelah Jendela Penerimaan Blok berakhir, kontrak Rollup akan memilih blok dengan nilai tertinggi untuk dimasukkan ke dalam buku besar Rollup, dan hadiah blok akan dikirim ke Pengusul (Sequencer) dan Prover dalam proporsi yang telah dideklarasikan sebelumnya oleh Pengusul.

Di atas adalah skema B52 Aztec. Namun, penulis artikel ini percaya bahwa proposal B52 memiliki beberapa potensi masalah:

Masalah satu: Misalkan bukti validitas blok dengan nilai tertinggi tidak lengkap. Solusi yang diberikan dalam proposal adalah jika Pengusul hanya memberikan 50% bukti, maka dia hanya bisa mendapatkan 50% dari block reward, dengan demikian memastikan bahwa Pengusul tidak memiliki insentif untuk dengan sengaja tidak mengirimkan bukti yang lengkap. Pada saat yang sama, Prover juga dapat langsung mengirimkan bukti ke kontrak.

Menurut deskripsi proposal, sebuah blok dapat diterima jika tidak memiliki bukti validitas transaksi yang lengkap. Hal ini sebenarnya tidak masuk akal karena: zkrollup mendeklarasikan state baru yang berhubungan dengan blok ini menjadi valid hanya ketika bukti validitas diberikan.

Jika bukti agregat yang akhirnya dikirimkan pengusul ke L1 tidak memiliki bukti transaksi tertentu, jelas bahwa bukti transisi state dari semua transaksi yang terjadi setelah transaksi ini tidak valid (karena transaksi dieksekusi secara berurutan dan memiliki ketergantungan state), dan kami tidak dapat mengonfirmasi bahwa state baru yang terkait dengan blok ini valid.

Oleh karena itu, pada saat ini, cara yang masuk akal adalah dengan memasuki Jendela Penerimaan Blokir yang menunggu tanpa batas sampai semua bukti transaksi dikirimkan.

Masalah 2: Misalkan blok dengan skor tertinggi adalah blok ilegal (poin ini tidak dijelaskan dalam rencana B52). BP hanya berisi hash dari urutan transaksi, sehingga pengaju yang jahat dapat dengan sengaja membuat transaksi yang bermasalah, seperti transaksi pembelanjaan ganda. Pada saat ini, sebenarnya perlu untuk menambahkan sebuah fungsi pada kontrak L1 yang memungkinkan siapa saja untuk mengirimkan bukti ilegal. Bukti ilegal ini digunakan untuk membuktikan bahwa BP dengan nilai tertinggi adalah blok ilegal.

Selain itu, laporan semacam ini juga harus dihargai. Kita dapat memberikan semua token yang dibakar yang dikirim ke kontrak oleh pengusul sebagai hadiah kepada node yang mengirimkan bukti ilegal.

Pemikiran yang menarik: Tentang blok paman dan Prover Work yang berlebihan: Rencana B52 sebenarnya akan, setelah setiap putaran BP tertinggi dan valid muncul, memperlakukan BP lain (yang telah mengirimkan bukti lengkap) dalam putaran ini sebagai uncle block dan mendistribusikan sejumlah hadiah uncle block.

Hal ini sebenarnya mengikuti praktik mekanisme konsensus ETH POW. Untuk menghindari konsentrasi daya komputasi yang berlebihan, perlu untuk mengalokasikan sebagian dari reward blok kepada pengusul blok yang tidak diadopsi (penambang), untuk melindungi kepentingan kelompok penambangan kecil/penambang individu dan untuk mencegah daya penambangan dimonopoli oleh kelompok penambangan besar. Oleh karena itu, mengadopsi mekanisme blok paman Ethereum yang berkinerja baik juga merupakan pilihan yang sangat cerdas.

Pentingnya proposal B52 dalam hal desentralisasi Rollup: Pengusul terdesentralisasi dan tidak memerlukan janji, dan penghalang masuknya rendah. Namun, karena ini membutuhkan pembuatan blok yang paling berharga dengan sendirinya, serta mengumpulkan suara dari Prover lain dan menggabungkan semua Bukti, ambang batas perangkat keras Pengusul tidak serendah yang dijelaskan dalam proposal (misalnya, bandwidth mungkin tidak terlalu rendah).

Oleh karena itu, pada akhirnya akan menjadi jaringan yang lebih terpusat, mirip dengan Mev-Boost Builder, karena pengusul yang pada akhirnya dapat menghasilkan blok sering kali adalah Block Builder yang paling baik dalam menangkap MEV.

Pada saat yang sama, Prover dalam skema B52 perlu menjaminkan aset, tetapi karena ia hanya perlu menghasilkan bukti sub-pohon, dibandingkan dengan solusi-solusi yang perlu sepenuhnya menghasilkan seluruh bukti blok, tingkat desentralisasi Prover akan lebih baik (persyaratan perangkat keras dapat diturunkan).

Keaktifan: Secara keseluruhan, Liveness jaringannya bagus, karena L2 memiliki jaringan p2p sendiri untuk menyiarkan transaksi dan pemungutan suara/BP, dan baik Sequencer maupun Prover relatif terdesentralisasi. Tetapi kita perlu menyelesaikan dua masalah yang disebutkan di atas, yang pertama adalah bahwa blok dengan skor tertinggi haruslah blok yang legal, dan yang kedua adalah kita perlu menunggu bukti blok yang lengkap untuk dikirimkan ke L1 sebelum memasuki negara bagian yang baru. Oleh karena itu, mekanisme insentif yang lebih efektif diperlukan untuk menghindari seluruh jaringan Rollup gagal bekerja secara normal (berhenti) karena kurangnya bukti tx.

Ketahanan terhadap sensor: Jika kita dapat memastikan bahwa setiap orang dapat mempublikasikan proposal blokir BP, dan memastikan bahwa tidak hanya Pengusul yang dapat mengirimkan bukti blokir, maka jaringan akan memiliki ketahanan sensor yang baik.

Finalitas: Finalitas L2 sangat erat kaitannya dengan keaktifan jaringan, karena finalitas akhir yang diverifikasi masih harus menunggu penyerahan Bukti Blok, tetapi sebenarnya Anda juga dapat mempercayai konten blok yang sesuai dengan BP dengan nilai tertinggi (selama tidak mengandung transaksi berbahaya).

Blok ini akan diungkap di awal Jendela Penerimaan Blok, yang berarti bahwa sebagai pengguna, Anda hanya perlu menunggu waktu Jendela Proposal Blok, dan blok tempat transaksi Anda berada dapat diadopsi.

Mewarisi Keamanan L1: Sebagai L2 yang memperbarui status dengan mengirimkan bukti validitas, L2 dapat mewarisi keamanan L1.

Proposal Fernet: Memperkenalkan VDF untuk Seleksi Pengusul

Gambaran umum dari Skema Fernet: Dengan menggunakan VDF dalam setiap siklus pembangkitan blok, skor yang diproyeksikan diberikan kepada node yang berbeda di dalam Komite (kumpulan node Sequencer), dan blok yang diusulkan oleh Sequencer dengan skor akhir tertinggi akan menjadi blok yang valid.

Pertama, bagaimana cara bergabung dengan Komite? Pada dasarnya, ini membutuhkan staking 16 ETH di L1 dan kemudian, setelah proses staking selesai, menunggu 4 blok L1 sebelum bergabung dengan Komite Sequencer. Sedangkan untuk keluar dari Komite Sequencer, seseorang perlu memanggil fungsi Unstake dalam kontrak L1, setelah itu diperlukan waktu 3 hari untuk mengambil jumlah staking yang tersisa.

Selanjutnya, apa itu VDF? Fungsi Penundaan yang Dapat Diverifikasi adalah fungsi matematika yang mengikuti karakteristik eksekusi serial yang ketat. Aplikasi ini mengeksekusi langkah-langkah komputasi tertentu dan menghabiskan waktu yang dapat diprediksi. Kami menunjukkan nilai yang dihitung oleh VDF sebagai Skor, yang mengikuti distribusi normal yang seragam. Dengan demikian, setelah Sequencer menghitung Skor VDF, mereka dapat menentukan probabilitas untuk terpilih sebagai Pengusul yang sah.

Perhitungan VDF untuk Sequencer adalah sebagai berikut:

Skor = VDF (kunci pribadi, masukan publik)

masukan publik = { current block number , randao }

randao adalah angka acak yang digunakan untuk mencegah Sequencer menghitung Skor VDF secara prematur untuk semua ketinggian blok di masa mendatang

Keseluruhan proses Fernet pada dasarnya dibagi ke dalam tiga tahap:

  1. Tahap Proposal 2. Tahap Pembuktian 3. Tahap Pembuktian Finalisasi

Fase Proposal: PROPOSAL_PHASE_L1_BLOCK = 2 blok Ethereum (Fase ini akan berlangsung selama 2 waktu blok L1)

Pada awal fase ini, setiap Sequencer akan menghitung Skor VDF-nya sendiri pada ketinggian blok saat ini. Jika Sequencer yakin bahwa Skor VDF-nya kemungkinan besar akan memenangkan hak produksi blok tersebut (dengan asumsi Skor memenuhi distribusi normal), maka Sequencer akan mengajukan Proposal ke kontrak L1 Rollup. Proposal mencakup: hash dari urutan transaksi, yang menunjuk ke blok L2 sebelumnya.

blok yang tidak terbukti: Blok yang hanya mengirimkan Proposal ke konten blok kontrak Rollup. Kemudian, Sequencer perlu mengirim konten blok yang sesuai dengan blok yang tidak terbukti dan bukti VDF ke jaringan p2p L2.

Fase Pembuktian: PROVING_PHASE_L1_BLOCK= 50 blok L1 (Fase ini akan berlangsung selama 50 blok L1, sekitar 10 menit)

Prover menerima semua transaksi yang berhubungan dengan Isi Blok dari jaringan p2p L2, dan membuat Bukti untuk blok dengan Skor VDF yang lebih tinggi. Konstruksi Proof juga mengadopsi metode beberapa Prover yang bekerja sama secara paralel (mirip dengan skema B52).

Oleh karena itu, Sequencer akhirnya perlu menggabungkan Bukti dari beberapa transaksi yang berbeda ke dalam Bukti Blok (termasuk Bukti VDF), dan mengirimkannya ke kontrak L1 Rollup. Siapa pun dapat mengirimkan Konten Blok yang telah mengirimkan Bukti Blok ke kontrak Rollup.

Finalisasi: Perlu mengirimkan transaksi L1 untuk Finalisasi blok, sebuah blok yang dapat difinalisasi harus memenuhi: Isi Blok yang dikirimkan dan Bukti Blok, blok sebelumnya yang dituju harus difinalisasi. Atas dasar ini, ia juga harus memiliki Skor tertinggi.

(Proses block-out gaya pipa, segera setelah tahap proposal dari blok sebelumnya berakhir, tahap proposal dari blok berikutnya dimulai, tanpa menunggu tahap Pembuktian dari blok sebelumnya berakhir).

Mekanisme pembuatan blok pipa: Perlu dicatat bahwa Fernet mengadopsi mekanisme pembuatan blok pipa. Ketika fase Proposal blok N berakhir, Proposal untuk blok N+1 dimulai (mirip dengan apa yang dilakukan oleh Aptos dan rantai publik lainnya). Namun, untuk blok N+1, perlu menunggu blok N selesai sebelum dapat mengirimkan transaksi Blok Akhir L1 dan divalidasi menjadi Blok Akhir.

Vektor serangan potensial: Jika Sequencer dengan Skor VDF tertinggi dengan sengaja tidak menyiarkan Konten Blok di L2 p2p, hal ini dapat menyebabkan reorganisasi blok (reorg).

Perhitungan jumlah blok L2 untuk reorg: 1 + PROPOSAL_FASE_L1_BLOK / PROPOSAL_FASE_L1_BLOK = 1 + 50/2 = 26 blok

Solusi: Memperkenalkan mekanisme blok paman untuk menghindari hanya memiliki satu blok kandidat lengkap untuk setiap slot L2 (slot waktu pembuatan blok).

Pentingnya desentralisasi dalam Fernet: Sequencer bergabung dengan Komite Sequencer dengan mempertaruhkan 16 ETH, dan ambang batas masuknya tidak tinggi (tetapi juga tidak rendah). Prover tidak memerlukan staking, tetapi jika Prover tidak menghasilkan Bukti, tidak ada penalti. Hal ini pada dasarnya berlawanan dengan skema B52.

Keaktifan: Liveness jaringan secara keseluruhan dapat dijamin karena mekanisme VDF + uncle block dapat memastikan bahwa ada lebih dari satu produsen blok di setiap putaran.

MEV: Pertimbangan MEV sangat unik. Skema ini berencana untuk memperkenalkan PBS, jadi setelah Sequencer menghitung Skor VDF dengan skor tinggi, ia dapat langsung mendekati Block Builder untuk membangun blok yang lebih berharga.

Resistensi terhadap sensor: Fernet juga akan mengadopsi mekanisme PBS yang konsisten dengan Ethereum, jadi pada dasarnya, masalah resistensi sensor Fernet setara dengan masalah resistensi sensor PBS Ethereum.

Penafian: Penafian

  1. Artikel ini dicetak ulang dari[Geek Web3], Meneruskan Judul Asli 'Desentralisasi: Analisis Solusi Desentralisasi Sequencer Aztec', Semua hak cipta adalah milik penulis asli[xhhh, EthStorage]. Jika ada keberatan dengan pencetakan ulang ini, silakan hubungi tim Gate Learn, dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini semata-mata merupakan pandangan dan pendapat penulis dan bukan merupakan saran investasi.
  3. Penerjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel terjemahan dilarang.

Menganalisis Solusi Sequencer Terdesentralisasi Aztec

Menengah2/28/2024, 6:04:00 AM
Penulis artikel ini mengambil proyek ZK-Rollup yang terkenal, Aztec, sebagai contoh, dan menggunakan dua proposal terbaru bernama B52 dan Fernet yang diusulkan oleh Aztec Labs sebagai titik awal untuk menganalisis bagaimana ZKR dapat mencapai desentralisasi node sequencer.
  • Teruskan Judul Asli: Desentralisasi Rollup: Menganalisis Solusi Desentralisasi Sequencer Aztec

Pendahuluan: Sejak Rollup menjadi terkenal, desentralisasi Sequencer selalu menjadi fokus komunitas Ethereum/Celestia, dan juga merupakan gunung yang sulit untuk dilewati dalam pekerjaan pengembangan Layer2. Dalam hal ini, berbagai paket Rollup telah mengusulkan ide untuk desentralisasi simpul, memberikan imajinasi yang sangat luas untuk topik ini.

Penulis artikel ini mengambil proyek ZKRollup yang terkenal, Aztec, sebagai contoh, dan menggunakan dua proposal bernama B52 dan Fernet yang baru-baru ini diusulkan oleh Aztec Labs sebagai titik awal, untuk menganalisis bagi para pembaca bagaimana ZKR merealisasikan desentralisasi node sequencer.

Proposal B52: Skema Pengurutan Tanpa Izin

Proposal B52 bermaksud untuk mencapai tujuan-tujuan berikut ini (secara ideal):

  1. Jaringan pengurut terdesentralisasi, dengan node L2 yang memilih pengusul untuk setiap putaran.

  2. Jaringan prover terdesentralisasi, dengan kebutuhan perangkat keras yang rendah untuk node prover.

  3. Rollup memiliki ketahanan sensor yang sangat baik secara keseluruhan.

  4. Nilai MEV yang dihasilkan pada L2 diperoleh oleh node L2.

  5. Ketika blok L2 dikirimkan ke lapisan DA, hasil akhir yang relatif efektif dapat diperoleh. Finalitas yang tidak dapat diubah membutuhkan penyelesaian penyerahan Bukti Validitas.

  6. Token L2 dapat memiliki model tokenomic yang layak.

  7. Baik blok L2 maupun data transaksi disebarkan dalam jaringan p2p L2.

  8. L2 mewarisi keamanan L1.

(Proposal B52 mengasumsikan struktur Rollup, Pengusul pada dasarnya adalah Sequencer)

Rencana ini membagi seluruh proses produksi blok L2 ke dalam tiga tahap waktu:

Jendela Proposal Blok (BPW) Jendela Penerimaan Blok (BAW) Kemajuan negara

Diantaranya, tahap BPW (Block Proposal) adalah proses di mana beberapa Sequencer mengusulkan blok yang berbeda dan bersaing, dan Prover memilih kandidat blok untuk dipilih. BAW (Block Acceptance) adalah proses di mana Prover membangun Bukti Validitas untuk blok dan mengirimkannya. Jendela Proposal Blok (Fase Proposal Blok): BPW dapat dibagi lagi menjadi tiga tahap - Block Proposal, Block Voting, Agregasi.


(Diagram proses Jendela Proposal Blok)

Tahap Block Proposal (BP): setiap orang dalam tahap ini dapat mengumpulkan transaksi dan menyiarkan konten BP mereka sendiri. Konten BP akan mencakup tiga bagian: hash urutan txs, persentase hadiah prover, jumlah token burn.

txs urutan hash: Pengusul memilih kumpulan transaksi yang paling berharga dari kumpulan transaksi L2 (mempool), mengurutkannya, dan kemudian menempatkan nilai hash dari transaksi-transaksi ini ke dalam blok yang sedang mereka bangun. persentase hadiah prover: Persentase hadiah blok yang dibagikan Sequencer kepada Prover. jumlah token yang dibakar: Jumlah L2 Native Token yang diusulkan oleh Pengusul untuk dibakar, kemudian mereka mengirimkan BP mereka ke jaringan p2p L2.

Tahap Pemungutan Suara Blok:

Setelah Prover menerima BP yang diusulkan oleh Proposer yang berbeda dalam jaringan p2p, mereka akan memilih BP yang memungkinkan mereka untuk mendapatkan hadiah terbanyak. Namun, komposisi suara itu istimewa:

Vote ={BlockHash, Index of Proof Tree}

BlockHash adalah hash dari Proposal yang ingin dipilih oleh Prover, dan Index of Proof Tree adalah nilai indeks daun dari Pohon Bukti yang ingin Prover ikuti (akan dijelaskan nanti)

Agregasi: Pengusul mengumpulkan suara dari Prover pada BP di jaringan p2p L2, menggabungkannya dan memasukkannya ke dalam BP, dan mengirimkannya ke L1 (setiap BP biasanya hanya berisi catatan suara yang terkait dengan dirinya sendiri).

Di sini, perlu ditekankan prasyarat agar BP dapat dipilih dan dimasukkan ke dalam buku besar Rollp:

Memiliki skor tertinggi:

NILAI(y) = NUM_PROVEN (x)^3 * BURN_BID(z)^2`

NUM_PROVERS (x) adalah jumlah suara Prover yang telah diterima BP ini, dan BURN_BID adalah jumlah Token L2 yang diusulkan untuk dibakar oleh BP ini. Karena semakin tinggi BURN_BID, semakin sedikit reward yang akan didapatkan oleh pengusul BP pada akhirnya, sehingga nilai ini harus ditetapkan dengan tepat.

Pada saat yang sama, BP ini harus diserahkan ke L1 sebelum akhir Jendela Proposal Blok, dan bukti bukti validitas yang sesuai harus diunggah ke L1 sebelum akhir Jendela Penerimaan Blok.

Catatan: Dalam penilaian BP, jumlah suara menempati bobot terbesar, diikuti oleh jumlah token yang terbakar. Pada saat yang sama, skema B52 memungkinkan beberapa pengusul (sebenarnya pengurut) untuk bersaing mendapatkan kuota BP yang valid.

Skema B52 hanya mengharuskan Pengusul (sequencer) untuk menentukan jumlah token burn di BP mereka sendiri (mirip dengan metode EIP1559) tanpa harus melakukan stake token terlebih dahulu, yang dapat membuat jaringan menjadi lebih tanpa izin (tidak ada izin masuk), dan juga kondusif untuk deflasi Token asli L2.

Selain itu, BP tidak berisi data transaksi yang lengkap, tetapi hanya berisi hash dari urutan transaksi, yang mirip dengan skema PBS Ethereum, yang bertujuan untuk menghindari MEV diintip dan didahului oleh Pengusul lain.

Penjelasan rinci tentang Jendela Penerimaan Blok:

(Diagram skematik Jendela Penerimaan Blok, ditulis sebagai Penerimaan Bukti dalam gambar)

Setelah Jendela Proposal Blok berakhir, Prover harus mengungkapkan data transaksi lengkap mereka yang sesuai dengan BP mereka. Jika BP yang dipilih oleh Prover terpilih (memiliki nilai tertinggi, yang dapat ditanyakan melalui kontrak L1), mereka harus membuat Sub Pohon Bukti yang sesuai dengan Indeks Pohon Bukti yang diberikan saat pemungutan suara.

Asumsikan bahwa sebuah blok Aztec berisi 2^13 = 16384 jumlah transaksi, dan terdapat 2048 pembukti, maka setiap pembukti membuat sebuah sub pohon bukti yang terdiri dari 2^3 = 8 transaksi. Kemudian prover menyiarkan sub pohon bukti yang dibangunnya ke jaringan p2p L2. Setelah menerimanya, pengusul akan mengumpulkan semua sub bukti pohon menjadi sebuah bukti blok.

Selanjutnya, Propsoer akan mengirimkan bukti agregat ke kontrak L1 Rollup, yang akan memverifikasi kebenaran bukti ini dan hasil transisi negara yang sesuai. Perlu dicatat di sini bahwa jika Prover dengan sengaja tidak mengirimkan bukti, maka tidak hanya gagal menerima dividen block reward yang dijanjikan oleh Proposer, tetapi juga akan dipotong, karena untuk menjadi Prover harus melakukan staking token terlebih dahulu. Oleh karena itu, tidak seperti Pengusul (Sequencer), Prover tidak memiliki izin.

Penjelasan rinci tentang Uang Muka Negara:

Setelah Jendela Penerimaan Blok berakhir, kontrak Rollup akan memilih blok dengan nilai tertinggi untuk dimasukkan ke dalam buku besar Rollup, dan hadiah blok akan dikirim ke Pengusul (Sequencer) dan Prover dalam proporsi yang telah dideklarasikan sebelumnya oleh Pengusul.

Di atas adalah skema B52 Aztec. Namun, penulis artikel ini percaya bahwa proposal B52 memiliki beberapa potensi masalah:

Masalah satu: Misalkan bukti validitas blok dengan nilai tertinggi tidak lengkap. Solusi yang diberikan dalam proposal adalah jika Pengusul hanya memberikan 50% bukti, maka dia hanya bisa mendapatkan 50% dari block reward, dengan demikian memastikan bahwa Pengusul tidak memiliki insentif untuk dengan sengaja tidak mengirimkan bukti yang lengkap. Pada saat yang sama, Prover juga dapat langsung mengirimkan bukti ke kontrak.

Menurut deskripsi proposal, sebuah blok dapat diterima jika tidak memiliki bukti validitas transaksi yang lengkap. Hal ini sebenarnya tidak masuk akal karena: zkrollup mendeklarasikan state baru yang berhubungan dengan blok ini menjadi valid hanya ketika bukti validitas diberikan.

Jika bukti agregat yang akhirnya dikirimkan pengusul ke L1 tidak memiliki bukti transaksi tertentu, jelas bahwa bukti transisi state dari semua transaksi yang terjadi setelah transaksi ini tidak valid (karena transaksi dieksekusi secara berurutan dan memiliki ketergantungan state), dan kami tidak dapat mengonfirmasi bahwa state baru yang terkait dengan blok ini valid.

Oleh karena itu, pada saat ini, cara yang masuk akal adalah dengan memasuki Jendela Penerimaan Blokir yang menunggu tanpa batas sampai semua bukti transaksi dikirimkan.

Masalah 2: Misalkan blok dengan skor tertinggi adalah blok ilegal (poin ini tidak dijelaskan dalam rencana B52). BP hanya berisi hash dari urutan transaksi, sehingga pengaju yang jahat dapat dengan sengaja membuat transaksi yang bermasalah, seperti transaksi pembelanjaan ganda. Pada saat ini, sebenarnya perlu untuk menambahkan sebuah fungsi pada kontrak L1 yang memungkinkan siapa saja untuk mengirimkan bukti ilegal. Bukti ilegal ini digunakan untuk membuktikan bahwa BP dengan nilai tertinggi adalah blok ilegal.

Selain itu, laporan semacam ini juga harus dihargai. Kita dapat memberikan semua token yang dibakar yang dikirim ke kontrak oleh pengusul sebagai hadiah kepada node yang mengirimkan bukti ilegal.

Pemikiran yang menarik: Tentang blok paman dan Prover Work yang berlebihan: Rencana B52 sebenarnya akan, setelah setiap putaran BP tertinggi dan valid muncul, memperlakukan BP lain (yang telah mengirimkan bukti lengkap) dalam putaran ini sebagai uncle block dan mendistribusikan sejumlah hadiah uncle block.

Hal ini sebenarnya mengikuti praktik mekanisme konsensus ETH POW. Untuk menghindari konsentrasi daya komputasi yang berlebihan, perlu untuk mengalokasikan sebagian dari reward blok kepada pengusul blok yang tidak diadopsi (penambang), untuk melindungi kepentingan kelompok penambangan kecil/penambang individu dan untuk mencegah daya penambangan dimonopoli oleh kelompok penambangan besar. Oleh karena itu, mengadopsi mekanisme blok paman Ethereum yang berkinerja baik juga merupakan pilihan yang sangat cerdas.

Pentingnya proposal B52 dalam hal desentralisasi Rollup: Pengusul terdesentralisasi dan tidak memerlukan janji, dan penghalang masuknya rendah. Namun, karena ini membutuhkan pembuatan blok yang paling berharga dengan sendirinya, serta mengumpulkan suara dari Prover lain dan menggabungkan semua Bukti, ambang batas perangkat keras Pengusul tidak serendah yang dijelaskan dalam proposal (misalnya, bandwidth mungkin tidak terlalu rendah).

Oleh karena itu, pada akhirnya akan menjadi jaringan yang lebih terpusat, mirip dengan Mev-Boost Builder, karena pengusul yang pada akhirnya dapat menghasilkan blok sering kali adalah Block Builder yang paling baik dalam menangkap MEV.

Pada saat yang sama, Prover dalam skema B52 perlu menjaminkan aset, tetapi karena ia hanya perlu menghasilkan bukti sub-pohon, dibandingkan dengan solusi-solusi yang perlu sepenuhnya menghasilkan seluruh bukti blok, tingkat desentralisasi Prover akan lebih baik (persyaratan perangkat keras dapat diturunkan).

Keaktifan: Secara keseluruhan, Liveness jaringannya bagus, karena L2 memiliki jaringan p2p sendiri untuk menyiarkan transaksi dan pemungutan suara/BP, dan baik Sequencer maupun Prover relatif terdesentralisasi. Tetapi kita perlu menyelesaikan dua masalah yang disebutkan di atas, yang pertama adalah bahwa blok dengan skor tertinggi haruslah blok yang legal, dan yang kedua adalah kita perlu menunggu bukti blok yang lengkap untuk dikirimkan ke L1 sebelum memasuki negara bagian yang baru. Oleh karena itu, mekanisme insentif yang lebih efektif diperlukan untuk menghindari seluruh jaringan Rollup gagal bekerja secara normal (berhenti) karena kurangnya bukti tx.

Ketahanan terhadap sensor: Jika kita dapat memastikan bahwa setiap orang dapat mempublikasikan proposal blokir BP, dan memastikan bahwa tidak hanya Pengusul yang dapat mengirimkan bukti blokir, maka jaringan akan memiliki ketahanan sensor yang baik.

Finalitas: Finalitas L2 sangat erat kaitannya dengan keaktifan jaringan, karena finalitas akhir yang diverifikasi masih harus menunggu penyerahan Bukti Blok, tetapi sebenarnya Anda juga dapat mempercayai konten blok yang sesuai dengan BP dengan nilai tertinggi (selama tidak mengandung transaksi berbahaya).

Blok ini akan diungkap di awal Jendela Penerimaan Blok, yang berarti bahwa sebagai pengguna, Anda hanya perlu menunggu waktu Jendela Proposal Blok, dan blok tempat transaksi Anda berada dapat diadopsi.

Mewarisi Keamanan L1: Sebagai L2 yang memperbarui status dengan mengirimkan bukti validitas, L2 dapat mewarisi keamanan L1.

Proposal Fernet: Memperkenalkan VDF untuk Seleksi Pengusul

Gambaran umum dari Skema Fernet: Dengan menggunakan VDF dalam setiap siklus pembangkitan blok, skor yang diproyeksikan diberikan kepada node yang berbeda di dalam Komite (kumpulan node Sequencer), dan blok yang diusulkan oleh Sequencer dengan skor akhir tertinggi akan menjadi blok yang valid.

Pertama, bagaimana cara bergabung dengan Komite? Pada dasarnya, ini membutuhkan staking 16 ETH di L1 dan kemudian, setelah proses staking selesai, menunggu 4 blok L1 sebelum bergabung dengan Komite Sequencer. Sedangkan untuk keluar dari Komite Sequencer, seseorang perlu memanggil fungsi Unstake dalam kontrak L1, setelah itu diperlukan waktu 3 hari untuk mengambil jumlah staking yang tersisa.

Selanjutnya, apa itu VDF? Fungsi Penundaan yang Dapat Diverifikasi adalah fungsi matematika yang mengikuti karakteristik eksekusi serial yang ketat. Aplikasi ini mengeksekusi langkah-langkah komputasi tertentu dan menghabiskan waktu yang dapat diprediksi. Kami menunjukkan nilai yang dihitung oleh VDF sebagai Skor, yang mengikuti distribusi normal yang seragam. Dengan demikian, setelah Sequencer menghitung Skor VDF, mereka dapat menentukan probabilitas untuk terpilih sebagai Pengusul yang sah.

Perhitungan VDF untuk Sequencer adalah sebagai berikut:

Skor = VDF (kunci pribadi, masukan publik)

masukan publik = { current block number , randao }

randao adalah angka acak yang digunakan untuk mencegah Sequencer menghitung Skor VDF secara prematur untuk semua ketinggian blok di masa mendatang

Keseluruhan proses Fernet pada dasarnya dibagi ke dalam tiga tahap:

  1. Tahap Proposal 2. Tahap Pembuktian 3. Tahap Pembuktian Finalisasi

Fase Proposal: PROPOSAL_PHASE_L1_BLOCK = 2 blok Ethereum (Fase ini akan berlangsung selama 2 waktu blok L1)

Pada awal fase ini, setiap Sequencer akan menghitung Skor VDF-nya sendiri pada ketinggian blok saat ini. Jika Sequencer yakin bahwa Skor VDF-nya kemungkinan besar akan memenangkan hak produksi blok tersebut (dengan asumsi Skor memenuhi distribusi normal), maka Sequencer akan mengajukan Proposal ke kontrak L1 Rollup. Proposal mencakup: hash dari urutan transaksi, yang menunjuk ke blok L2 sebelumnya.

blok yang tidak terbukti: Blok yang hanya mengirimkan Proposal ke konten blok kontrak Rollup. Kemudian, Sequencer perlu mengirim konten blok yang sesuai dengan blok yang tidak terbukti dan bukti VDF ke jaringan p2p L2.

Fase Pembuktian: PROVING_PHASE_L1_BLOCK= 50 blok L1 (Fase ini akan berlangsung selama 50 blok L1, sekitar 10 menit)

Prover menerima semua transaksi yang berhubungan dengan Isi Blok dari jaringan p2p L2, dan membuat Bukti untuk blok dengan Skor VDF yang lebih tinggi. Konstruksi Proof juga mengadopsi metode beberapa Prover yang bekerja sama secara paralel (mirip dengan skema B52).

Oleh karena itu, Sequencer akhirnya perlu menggabungkan Bukti dari beberapa transaksi yang berbeda ke dalam Bukti Blok (termasuk Bukti VDF), dan mengirimkannya ke kontrak L1 Rollup. Siapa pun dapat mengirimkan Konten Blok yang telah mengirimkan Bukti Blok ke kontrak Rollup.

Finalisasi: Perlu mengirimkan transaksi L1 untuk Finalisasi blok, sebuah blok yang dapat difinalisasi harus memenuhi: Isi Blok yang dikirimkan dan Bukti Blok, blok sebelumnya yang dituju harus difinalisasi. Atas dasar ini, ia juga harus memiliki Skor tertinggi.

(Proses block-out gaya pipa, segera setelah tahap proposal dari blok sebelumnya berakhir, tahap proposal dari blok berikutnya dimulai, tanpa menunggu tahap Pembuktian dari blok sebelumnya berakhir).

Mekanisme pembuatan blok pipa: Perlu dicatat bahwa Fernet mengadopsi mekanisme pembuatan blok pipa. Ketika fase Proposal blok N berakhir, Proposal untuk blok N+1 dimulai (mirip dengan apa yang dilakukan oleh Aptos dan rantai publik lainnya). Namun, untuk blok N+1, perlu menunggu blok N selesai sebelum dapat mengirimkan transaksi Blok Akhir L1 dan divalidasi menjadi Blok Akhir.

Vektor serangan potensial: Jika Sequencer dengan Skor VDF tertinggi dengan sengaja tidak menyiarkan Konten Blok di L2 p2p, hal ini dapat menyebabkan reorganisasi blok (reorg).

Perhitungan jumlah blok L2 untuk reorg: 1 + PROPOSAL_FASE_L1_BLOK / PROPOSAL_FASE_L1_BLOK = 1 + 50/2 = 26 blok

Solusi: Memperkenalkan mekanisme blok paman untuk menghindari hanya memiliki satu blok kandidat lengkap untuk setiap slot L2 (slot waktu pembuatan blok).

Pentingnya desentralisasi dalam Fernet: Sequencer bergabung dengan Komite Sequencer dengan mempertaruhkan 16 ETH, dan ambang batas masuknya tidak tinggi (tetapi juga tidak rendah). Prover tidak memerlukan staking, tetapi jika Prover tidak menghasilkan Bukti, tidak ada penalti. Hal ini pada dasarnya berlawanan dengan skema B52.

Keaktifan: Liveness jaringan secara keseluruhan dapat dijamin karena mekanisme VDF + uncle block dapat memastikan bahwa ada lebih dari satu produsen blok di setiap putaran.

MEV: Pertimbangan MEV sangat unik. Skema ini berencana untuk memperkenalkan PBS, jadi setelah Sequencer menghitung Skor VDF dengan skor tinggi, ia dapat langsung mendekati Block Builder untuk membangun blok yang lebih berharga.

Resistensi terhadap sensor: Fernet juga akan mengadopsi mekanisme PBS yang konsisten dengan Ethereum, jadi pada dasarnya, masalah resistensi sensor Fernet setara dengan masalah resistensi sensor PBS Ethereum.

Penafian: Penafian

  1. Artikel ini dicetak ulang dari[Geek Web3], Meneruskan Judul Asli 'Desentralisasi: Analisis Solusi Desentralisasi Sequencer Aztec', Semua hak cipta adalah milik penulis asli[xhhh, EthStorage]. Jika ada keberatan dengan pencetakan ulang ini, silakan hubungi tim Gate Learn, dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini semata-mata merupakan pandangan dan pendapat penulis dan bukan merupakan saran investasi.
  3. Penerjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel terjemahan dilarang.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!