Pendahuluan: Apa sebenarnya ketersediaan data itu? **Mungkin kesan pertama kebanyakan orang adalah "data historis dapat diperoleh pada saat tertentu", namun sebenarnya ini adalah kesalahpahaman terbesar tentang konsep DA. **Baru-baru ini, L2BEAT Lianchuang, pengusul Danksharding, dan pendiri Celestia telah mengklarifikasi kesalahpahaman ini. Mereka menunjukkan bahwa Ketersediaan Data seharusnya mengacu pada "rilis data", tetapi kebanyakan orang memahami DA sebagai "Data historis dapat diambil", dan yang terakhir sebenarnya melibatkan masalah penyimpanan data.
Misalnya, Dankrad menyebutkan mekanisme penarikan paksa/escape hatch pada Layer 2 beberapa waktu lalu. Dia menunjukkan bahwa penarikan paksa Validium memerlukan status L2 terbaru untuk membuat Bukti Merkle, tetapi Plasma hanya memerlukan status L2 terbaru dari 7 hari yang lalu (ini berbeda dari keduanya Hal ini terkait dengan metode penentuan Stateroot hukum pengguna).
Dengan ini, Dankrad dengan jelas menunjukkan bahwa Validium memerlukan DA untuk menjamin keamanan dana pengguna, namun Plasma tidak. Di sini, kasus penggunaan Dankrad menunjukkan perbedaan antara DA dan pengambilan data historis, yaitu DA cenderung hanya melibatkan data yang baru dirilis. **
Di L2BEAT, perbedaan antara ketersediaan data DA dan penyimpanan data DS semakin diperkuat. Bartek L2BEAT telah berulang kali menekankan bahwa DA dan penyimpanan data/data historis adalah dua hal yang berbeda, dan pengguna dapat memperoleh data L2 yang mereka perlukan hanya karena node yang menyediakan data "cukup baik untuk Anda". Selain itu, L2BEAT juga berencana menggunakan "apakah ada node penyimpanan data dengan izin terbuka" sebagai indikator baru untuk mengevaluasi Rollup selain DA.
Pernyataan di atas dari anggota komunitas Ethereum/Ethereum Foundation menunjukkan bahwa mereka akan menstandardisasi konsep terkait Layer 2 di masa depan dan memberikan definisi yang lebih rinci tentang Layer 2 itu sendiri. Karena banyak istilah seputar Rollup dan L2 sebenarnya tidak dijelaskan dengan baik, seperti berapa lama data dianggap sebagai "data historis" - beberapa orang berpikir demikian karena kontrak pintar hanya dapat memanggil data blok masa lalu dalam 256 blok, Oleh karena itu, data 256 blok ( 50 menit) yang lalu dianggap sebagai "data historis".
Sebenarnya, “Rollup” yang disebutkan oleh Celestia dan Ethereum Foundation adalah dua hal yang berbeda. Artikel ini bertujuan untuk memperjelas perbedaan antara konsep DA dan penyimpanan data.Dari sumber DA, pengambilan sampel ketersediaan data, dan implementasi Rollup DA, kami akan menjelaskan kepada Anda apa itu ketersediaan data - rilis data. **
Sumber konsep DA
Mengenai apa yang dimaksud dengan masalah "ketersediaan data", **Pendiri Celestia Mustafa menjelaskan hal ini: **DA adalah, ketika pembuat blok mengusulkan blok baru, bagaimana memastikan bahwa semua data di blok tersebut dilepaskan ke jaringan? Jika generator blok tidak melepaskan semua data dalam blok, ia tidak dapat mendeteksi apakah blok tersebut berisi transaksi yang salah.
Mustafa juga menunjukkan bahwa Ethereum Rollup hanya menerbitkan data blok L2 ke rantai Ethereum dan mengandalkan ETH untuk memastikan ketersediaan data.
**Di situs resmi Ethereum, terdapat ringkasan berikut tentang DA: **Masalah ketersediaan data dapat diringkas sebagai pertanyaan: "Bagaimana kami memverifikasi apakah data blok baru tersedia?"... Sebagai penerangan klien Secara umum, masalah ketersediaan data mengacu pada verifikasi ketersediaan blok tanpa mengunduh seluruh blok.
**Situs web resmi Ethereum juga dengan jelas membedakan perbedaan antara ketersediaan dan pengambilan data: **Ketersediaan data mengacu pada kemampuan node untuk mengunduh data blok ketika sebuah blok diusulkan. Dengan kata lain, ketersediaan data relevan ketika sebuah blok belum mencapai konsensus... Pengambilan data mengacu pada kemampuan node untuk mengambil informasi historis dari blockchain... meskipun pengarsipan mungkin memerlukan blockchain Data historis, tetapi node dapat memvalidasi blok dan memproses transaksi tanpa menggunakan data historis.
**Menurut pendapat kontributor Celestia Tiongkok-mitra W3Hitchhiker Ren Hongyi, **Layer2 berasumsi sebelumnya bahwa Ethereum cukup aman dan terdesentralisasi, dan sequencer dapat dengan aman dan berani mengirim data DA ke Ethereum, dan data ini akan menyebar tanpa hambatan. Ke semua node penuh Ethereum. Full node L2 sendiri harus menjalankan klien Geth yang merupakan subset dari full node Ethereum, sehingga dapat menerima data Layer 2 DA.
**Di mata Dr. Qi Zhou, pendiri EthStorage, definisi DA adalah tidak ada seorang pun yang dapat menyimpan data transaksi yang dikirimkan oleh pengguna ke jaringan. Model kepercayaan yang sesuai adalah kita hanya perlu mempercayai protokol L1 itu sendiri dan tidak perlu memperkenalkan asumsi kepercayaan lainnya.
Qi Zhou menunjukkan bahwa metode implementasi DA Ethereum saat ini sebenarnya adalah siaran P2P (protokol gosip). Setiap node penuh akan mengunduh dan menyebarkan blok baru dan menyimpan data Rollup. Tentu saja, node penuh Ethereum tidak akan menyimpan blok historis secara permanen, dan dapat secara otomatis menghapus data dari jangka waktu tertentu (sepertinya 18 hari) setelah 4844 online. **Tidak banyak node arsip di dunia yang menyimpan semua data historis.**EthStorage bermaksud untuk mengisi celah ini dalam sistem Ethereum dan membantu Layer 2 menyiapkan node persistensi data eksklusifnya sendiri.
Diskusi awal Ethereum Foundation mengenai ketersediaan data dapat ditemukan di tweet Vitalik dan dokumen github pada tahun 2017. Pada saat itu, dia percaya bahwa jika kita ingin memastikan skalabilitas/efisiensi tinggi dari blockchain, kita perlu meningkatkan konfigurasi perangkat keras dari node penuh (node penuh adalah node yang mengunduh blok lengkap dan memverifikasi validitasnya, dan Validator yang melakukan konsensus adalah subset dari node penuh). Namun, jika konfigurasi perangkat keras dari node penuh ditingkatkan, biaya pengoperasian akan meningkat, menyebabkan blockchain menjadi terpusat.
Mengenai hal ini,** Vitalik mengatakan bahwa solusi dapat dirancang untuk mengatasi risiko keamanan yang disebabkan oleh sentralisasi full node berkinerja tinggi. ** Dia berencana untuk memperkenalkan pengkodean penghapusan dan pengambilan sampel acak data untuk merancang protokol sehingga node cahaya dengan perangkat keras kelas bawah dapat mengetahui bahwa tidak ada masalah dengan blok tersebut meskipun mereka tidak mengetahui blok lengkapnya.
Pemikiran awalnya sebenarnya terkait dengan ide yang disebutkan dalam white paper Bitcoin. Ide ini mengatakan bahwa node cahaya tidak perlu menerima blok lengkap, dan ketika ada masalah dengan blok tersebut, node penuh yang jujur akan mengeluarkan "alarm" untuk memberi tahu node cahaya. Gagasan ini dapat diperluas ke pembuktian penipuan berikutnya, namun tidak ada jaminan bahwa node penuh yang jujur selalu dapat memperoleh data yang cukup, juga tidak dapat dinilai setelahnya apakah pengusul blok telah menyembunyikan data tertentu dan tidak merilisnya.
Misalnya, node A tertentu dapat mengeluarkan sertifikat penipuan yang mengklaim telah menerima blok yang tidak lengkap dari node B. Namun saat ini, belum mungkin untuk menilai apakah balok yang tidak lengkap tersebut dipalsukan oleh A sendiri atau dikirim oleh B. Vitalik menunjukkan bahwa masalah ini dapat diselesaikan dengan DAS pengambilan sampel ketersediaan data (tentu saja ketersediaan data pada dasarnya melibatkan masalah rilis data).
Vitalik memberikan pembahasan sepintas tentang masalah ini dan solusinya dalam "Catatan tentang ketersediaan data dan penghapusan kode". **Dia menunjukkan bahwa sertifikat DA pada dasarnya adalah "penyelesaian" dari sertifikat penipuan. **
Pengambilan Sampel Ketersediaan Data
Namun yang jelas konsep DA tidak begitu mudah untuk dijelaskan, karena dokumen github Vitalik telah diperbaiki sebanyak 18 kali. Catatan, koreksi terakhir disampaikan pada 25 September 2018. Sehari sebelumnya, pada tanggal 24 September 2018, Pendiri Celestia Mustafa dan Vitalik bersama-sama menerbitkan makalah yang akan menjadi terkenal di masa depan—Bukti Penipuan dan Ketersediaan Data: Memaksimalkan Keamanan Klien Ringan dan Menskalakan Blockchain dengan Mayoritas yang Tidak Jujur
Menariknya, penulis pertama makalah ini adalah Mustafa, bukan Vitalik (penulis lainnya kini menjadi peneliti di Sui Public Chain). Artikel tersebut menyebutkan konsep Bukti Penipuan, menjelaskan prinsip pengambilan sampel ketersediaan data DAS, dan secara kasar merancang protokol mashup DAS + pengkodean penghapusan dua dimensi + bukti penipuan. **Makalah ini dengan jelas menyebutkan bahwa sistem bukti DA pada dasarnya merupakan pelengkap yang diperlukan untuk bukti penipuan. **
Jika kita mulai dari sudut pandang Vitalik, peran protokol ini dapat diringkas sebagai berikut:
Asumsikan rantai publik memiliki N node konsensus Validator dengan perangkat keras kelas atas. Throughput datanya besar dan efisiensinya sangat tinggi. Meskipun blockchain tersebut memiliki TPS yang tinggi, jumlah node konsensus N relatif kecil, relatif terpusat, dan kemungkinan kolusi node tinggi.
Namun, setidaknya satu dari N node konsensus akan jujur. **Selama minimal 1/N Validator jujur, **periksa apakah blok tersebut tidak valid, dan bersedia menyiarkan bukti penipuan bila diperlukan, light node atau Validator yang jujur dapat mengetahui bahwa ada masalah keamanan di jaringan , dan dapat menggunakan node jahat Slash dan konsensus sosial ke Forks dan metode lain yang digunakan untuk memulihkan jaringan ke normal.
Namun, seperti disebutkan Vitalik sebelumnya, jika node penuh yang jujur menerima blok dan menemukan bahwa ia kekurangan bagian tertentu, dan menerbitkan sertifikat penipuan, sulit untuk menentukan apakah pengusul blok tidak mempublikasikan bagian data ini, atau diblokir. di tengah jalan, node lain menahannya, atau node yang mengeluarkan sertifikat penipuan bertindak atas inisiatifnya sendiri.
Selain itu, jika sebagian besar node berkolusi, 1/N Validator yang jujur akan diisolasi dan mungkin tidak dapat memperoleh blok baru. Ini dianggap sebagai skenario serangan yang menahan data. Perlu dicatat bahwa saat ini, node yang jujur tidak mengetahui apakah kondisi jaringannya buruk atau ada orang lain yang bersekongkol untuk menyembunyikan data. Ia juga tidak mengetahui apakah node lain juga diisolasi, dan sulit untuk menilai apakah node tersebut. mayoritas orang bersekongkol untuk menyembunyikan data.
Singkatnya, harus ada cara untuk memastikan bahwa Validator yang jujur dapat memperoleh data yang diperlukan untuk memverifikasi blok dengan probabilitas yang sangat tinggi; pada saat yang sama, harus dapat menentukan siapa yang terlibat dalam serangan penyembunyian data** - pengusul blok yang belum mempublikasikan. Jika datanya cukup, masih dikatakan ditahan oleh node lain, atau sebagian besar node berkolusi. Jelas, model keamanan ini memiliki lebih banyak jaminan daripada "asumsi mayoritas jujur" dari rantai POS biasa, dan pengambilan sampel ketersediaan data DAS adalah metode implementasi spesifik.
Kita sekarang berasumsi bahwa ada banyak light node dalam jaringan, mungkin 10 N, dan setiap light node terhubung ke beberapa Validator** (untuk memudahkan analisis, diasumsikan bahwa setiap light node terhubung ke semua N Validator). Node cahaya ini akan meluncurkan pengambilan sampel data ke Validator beberapa kali, secara acak meminta sebagian kecil data setiap kali (dengan asumsi itu hanya menyumbang 1% dari satu blok). Selanjutnya, mereka akan menyebarkan fragmen yang diekstraksi ke Validator yang tidak memiliki data ini. Selama terdapat cukup node cahaya dan waktu pengambilan sampel data cukup sering, bahkan jika beberapa permintaan mungkin ditolak, selama sebagian besar permintaan tersebut ditanggapi, dapat dijamin bahwa semua Validator pada akhirnya akan mendapatkan cukup data yang diperlukan untuk memverifikasi blok. . Hal ini dapat mengimbangi dampak data yang ditahan oleh node selain pengusul blok. **
(Sumber gambar: W3 Hitchhiker)
Dan jika sebagian besar Validator berkolusi dan menolak untuk menanggapi permintaan sebagian besar node ringan, orang akan dengan mudah menyadari bahwa ada masalah dengan rantai tersebut (karena meskipun kecepatan jaringan beberapa orang tidak bagus, itu tidak akan seburuk permintaannya. dari sebagian besar node cahaya) ditolak). Oleh karena itu, skema di atas dapat mendeteksi sebagian besar perilaku kolusi dengan probabilitas yang sangat tinggi, meskipun tentu saja situasi ini sendiri jarang terjadi.
Pada titik ini, kami dapat menyelesaikan ketidakpastian yang datang dari luar pengusul Blokir. Jika pengusul Blok terlibat dalam pemotongan data, misalnya, ia tidak memublikasikan cukup data yang diperlukan untuk memverifikasi blok di dalam blok (setelah diperkenalkannya pengkodean penghapusan dua dimensi, sebuah blok berisi 2k*2k fragmen, dan Memulihkan data asli blok memerlukan setidaknya sekitar k*k fragmen, terhitung 1/4. Pengusul ingin orang lain tidak dapat memulihkan data asli, dan setidaknya k+1*k+1 fragmen memerlukan untuk ditahan),* *Pada akhirnya akan terdeteksi oleh validator yang jujur, yang akan menyiarkan bukti penipuan untuk memperingatkan *****ers lainnya. **
Menurut vitalik dan mustafa, mereka sebenarnya menggabungkan ide-ide yang telah dikemukakan sebelumnya dan melakukan inovasi-inovasi tertentu di atasnya. Dari sudut pandang titik awal dan implementasi keseluruhan konsep, jelas bahwa apa yang disebut "ketersediaan data" mengacu pada apakah data yang diperlukan untuk memverifikasi blok terbaru telah dirilis oleh pengusul blok dan dapat diverifikasi oleh blok tersebut. pemverifikasi Kami menerima. **Ini tentang "apakah data telah dirilis sepenuhnya" dan bukan "apakah data historis dapat diambil".
Cara mengimplementasikan DA Ethereum Rollup
Dengan kesimpulan sebelumnya, mari kita lihat implementasi DA dari Ethereum Rollup. Hal ini sebenarnya relatif jelas: **Pengusul blok di Rollup adalah sequencer, yang akan mengeluarkan verifikasi pada Ethereum sesekali. Data yang diperlukan untuk transisi status Layer2 . **Tepatnya, ini untuk memulai Transaksi ke kontrak yang ditentukan, memasukkan data yang terlibat dalam DA ke dalam parameter input khusus, dan akhirnya dicatat di blok Ethereum. Karena Ethereum cukup terdesentralisasi, Anda dapat yakin bahwa data yang dikirimkan oleh sequencer akan berhasil diterima oleh "validator". Namun peran "verifikator" di berbagai jaringan Rollup berbeda-beda.
*(Sequencer Arbitrum memposting batch transaksi ke kontrak di Ethereum. Kontrak itu sendiri tidak memverifikasi data ini, tetapi hanya menampilkan peristiwa untuk didengarkan oleh node penuh L2, memberi tahu node penuh bahwa sequencer telah merilis batch transaksi ) *
Secara khusus, ZK Rollup menggunakan kontrak Verifikator di Ethereum untuk bertindak sebagai "verifikator". **ZKR hanya perlu mempublikasikan setidaknya Perbedaan Negara + Bukti Validitas, **yaitu, perubahan negara + bukti validitas Kontrak Verifikator akan mendeteksi bukti validitas untuk menentukan apakah dapat cocok dengan Perbedaan Negara. Setelah lolos verifikasi maka L2 Block/Batch yang dikeluarkan sequencer dianggap valid.
(Sumber: Buku Putih Bekas Polygon Hermez)
Rollup yang paling optimis akan merilis lebih banyak data di Ethereum, karena hanya dapat mengandalkan node penuh L2 untuk mengunduh data dan memverifikasi validitas Blok. **Dalam hal ini, setidaknya tanda tangan digital dari setiap transaksi L2 harus diungkapkan (tanda tangan gabungan umumnya digunakan sekarang), dan jika kontrak diadakan, parameter masukan harus diungkapkan. Selain itu, alamat transfer transaksi dan Nilai nonce untuk mencegah serangan replay harus diungkapkan. tunggu. Namun dibandingkan dengan data Transaksi secara lengkap, masih terdapat beberapa pemangkasan.
**Dibandingkan dengan ZK Rollup, biaya DA pada Rollup optimis lebih tinggi, **karena ZK Rollup hanya perlu mengungkapkan perubahan status akhir setelah sekumpulan transaksi dijalankan, dan dilengkapi dengan sertifikat validitas, memanfaatkan kesederhanaan ZK SNARK/STARK; Optimistic Rollup hanya dapat menggunakan metode yang paling rumit, memungkinkan semua transaksi dieksekusi ulang pada node penuh L2 lainnya.
W3hitchhiker sebelumnya memperkirakan secara kasar bahwa tanpa mempertimbangkan 4844 dan blob di masa depan, efek ekspansi ZKR dapat mencapai beberapa kali lipat dari OPR, dan jika mempertimbangkan 4337 dompet pintar terkait (mengganti tanda tangan kunci pribadi dengan data sidik jari dan iris mata), ZKR keuntungannya akan lebih jelas, karena tidak perlu memposting data biner sidik jari dan iris mata ke Ethereum, sedangkan Optimistic Rollup melakukannya).
Sedangkan untuk Validium dan Plasma/Optimium, mereka sebenarnya menggunakan lapisan DA di bawah rantai Ethereum untuk mengimplementasikan DA. Misalnya, ImmutableX, yang menggunakan sistem bukti validitas, telah membangun satu set node DAC (Komite Ketersediaan Data) untuk mempublikasikan data terkait DA; Metis menerbitkan data DA di Memlabs, dan Rooch dan Manta menggunakan Celestia. Saat ini, tampaknya karena keberadaan DAS dan sistem anti penipuan, **Celestia adalah salah satu proyek lapisan DA paling kredibel di luar Ethereum. **
referensi
5
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Kesalahpahaman tentang ketersediaan data: DA = rilis data ≠ pengambilan data historis
Pendahuluan: Apa sebenarnya ketersediaan data itu? **Mungkin kesan pertama kebanyakan orang adalah "data historis dapat diperoleh pada saat tertentu", namun sebenarnya ini adalah kesalahpahaman terbesar tentang konsep DA. **Baru-baru ini, L2BEAT Lianchuang, pengusul Danksharding, dan pendiri Celestia telah mengklarifikasi kesalahpahaman ini. Mereka menunjukkan bahwa Ketersediaan Data seharusnya mengacu pada "rilis data", tetapi kebanyakan orang memahami DA sebagai "Data historis dapat diambil", dan yang terakhir sebenarnya melibatkan masalah penyimpanan data.
Misalnya, Dankrad menyebutkan mekanisme penarikan paksa/escape hatch pada Layer 2 beberapa waktu lalu. Dia menunjukkan bahwa penarikan paksa Validium memerlukan status L2 terbaru untuk membuat Bukti Merkle, tetapi Plasma hanya memerlukan status L2 terbaru dari 7 hari yang lalu (ini berbeda dari keduanya Hal ini terkait dengan metode penentuan Stateroot hukum pengguna).
Dengan ini, Dankrad dengan jelas menunjukkan bahwa Validium memerlukan DA untuk menjamin keamanan dana pengguna, namun Plasma tidak. Di sini, kasus penggunaan Dankrad menunjukkan perbedaan antara DA dan pengambilan data historis, yaitu DA cenderung hanya melibatkan data yang baru dirilis. **
Di L2BEAT, perbedaan antara ketersediaan data DA dan penyimpanan data DS semakin diperkuat. Bartek L2BEAT telah berulang kali menekankan bahwa DA dan penyimpanan data/data historis adalah dua hal yang berbeda, dan pengguna dapat memperoleh data L2 yang mereka perlukan hanya karena node yang menyediakan data "cukup baik untuk Anda". Selain itu, L2BEAT juga berencana menggunakan "apakah ada node penyimpanan data dengan izin terbuka" sebagai indikator baru untuk mengevaluasi Rollup selain DA.
Pernyataan di atas dari anggota komunitas Ethereum/Ethereum Foundation menunjukkan bahwa mereka akan menstandardisasi konsep terkait Layer 2 di masa depan dan memberikan definisi yang lebih rinci tentang Layer 2 itu sendiri. Karena banyak istilah seputar Rollup dan L2 sebenarnya tidak dijelaskan dengan baik, seperti berapa lama data dianggap sebagai "data historis" - beberapa orang berpikir demikian karena kontrak pintar hanya dapat memanggil data blok masa lalu dalam 256 blok, Oleh karena itu, data 256 blok ( 50 menit) yang lalu dianggap sebagai "data historis".
Sebenarnya, “Rollup” yang disebutkan oleh Celestia dan Ethereum Foundation adalah dua hal yang berbeda. Artikel ini bertujuan untuk memperjelas perbedaan antara konsep DA dan penyimpanan data.Dari sumber DA, pengambilan sampel ketersediaan data, dan implementasi Rollup DA, kami akan menjelaskan kepada Anda apa itu ketersediaan data - rilis data. **
Sumber konsep DA
Mengenai apa yang dimaksud dengan masalah "ketersediaan data", **Pendiri Celestia Mustafa menjelaskan hal ini: **DA adalah, ketika pembuat blok mengusulkan blok baru, bagaimana memastikan bahwa semua data di blok tersebut dilepaskan ke jaringan? Jika generator blok tidak melepaskan semua data dalam blok, ia tidak dapat mendeteksi apakah blok tersebut berisi transaksi yang salah.
Mustafa juga menunjukkan bahwa Ethereum Rollup hanya menerbitkan data blok L2 ke rantai Ethereum dan mengandalkan ETH untuk memastikan ketersediaan data.
**Di situs resmi Ethereum, terdapat ringkasan berikut tentang DA: **Masalah ketersediaan data dapat diringkas sebagai pertanyaan: "Bagaimana kami memverifikasi apakah data blok baru tersedia?"... Sebagai penerangan klien Secara umum, masalah ketersediaan data mengacu pada verifikasi ketersediaan blok tanpa mengunduh seluruh blok.
**Situs web resmi Ethereum juga dengan jelas membedakan perbedaan antara ketersediaan dan pengambilan data: **Ketersediaan data mengacu pada kemampuan node untuk mengunduh data blok ketika sebuah blok diusulkan. Dengan kata lain, ketersediaan data relevan ketika sebuah blok belum mencapai konsensus... Pengambilan data mengacu pada kemampuan node untuk mengambil informasi historis dari blockchain... meskipun pengarsipan mungkin memerlukan blockchain Data historis, tetapi node dapat memvalidasi blok dan memproses transaksi tanpa menggunakan data historis.
**Menurut pendapat kontributor Celestia Tiongkok-mitra W3Hitchhiker Ren Hongyi, **Layer2 berasumsi sebelumnya bahwa Ethereum cukup aman dan terdesentralisasi, dan sequencer dapat dengan aman dan berani mengirim data DA ke Ethereum, dan data ini akan menyebar tanpa hambatan. Ke semua node penuh Ethereum. Full node L2 sendiri harus menjalankan klien Geth yang merupakan subset dari full node Ethereum, sehingga dapat menerima data Layer 2 DA.
**Di mata Dr. Qi Zhou, pendiri EthStorage, definisi DA adalah tidak ada seorang pun yang dapat menyimpan data transaksi yang dikirimkan oleh pengguna ke jaringan. Model kepercayaan yang sesuai adalah kita hanya perlu mempercayai protokol L1 itu sendiri dan tidak perlu memperkenalkan asumsi kepercayaan lainnya.
Qi Zhou menunjukkan bahwa metode implementasi DA Ethereum saat ini sebenarnya adalah siaran P2P (protokol gosip). Setiap node penuh akan mengunduh dan menyebarkan blok baru dan menyimpan data Rollup. Tentu saja, node penuh Ethereum tidak akan menyimpan blok historis secara permanen, dan dapat secara otomatis menghapus data dari jangka waktu tertentu (sepertinya 18 hari) setelah 4844 online. **Tidak banyak node arsip di dunia yang menyimpan semua data historis.**EthStorage bermaksud untuk mengisi celah ini dalam sistem Ethereum dan membantu Layer 2 menyiapkan node persistensi data eksklusifnya sendiri.
Diskusi awal Ethereum Foundation mengenai ketersediaan data dapat ditemukan di tweet Vitalik dan dokumen github pada tahun 2017. Pada saat itu, dia percaya bahwa jika kita ingin memastikan skalabilitas/efisiensi tinggi dari blockchain, kita perlu meningkatkan konfigurasi perangkat keras dari node penuh (node penuh adalah node yang mengunduh blok lengkap dan memverifikasi validitasnya, dan Validator yang melakukan konsensus adalah subset dari node penuh). Namun, jika konfigurasi perangkat keras dari node penuh ditingkatkan, biaya pengoperasian akan meningkat, menyebabkan blockchain menjadi terpusat.
Mengenai hal ini,** Vitalik mengatakan bahwa solusi dapat dirancang untuk mengatasi risiko keamanan yang disebabkan oleh sentralisasi full node berkinerja tinggi. ** Dia berencana untuk memperkenalkan pengkodean penghapusan dan pengambilan sampel acak data untuk merancang protokol sehingga node cahaya dengan perangkat keras kelas bawah dapat mengetahui bahwa tidak ada masalah dengan blok tersebut meskipun mereka tidak mengetahui blok lengkapnya.
Pemikiran awalnya sebenarnya terkait dengan ide yang disebutkan dalam white paper Bitcoin. Ide ini mengatakan bahwa node cahaya tidak perlu menerima blok lengkap, dan ketika ada masalah dengan blok tersebut, node penuh yang jujur akan mengeluarkan "alarm" untuk memberi tahu node cahaya. Gagasan ini dapat diperluas ke pembuktian penipuan berikutnya, namun tidak ada jaminan bahwa node penuh yang jujur selalu dapat memperoleh data yang cukup, juga tidak dapat dinilai setelahnya apakah pengusul blok telah menyembunyikan data tertentu dan tidak merilisnya.
Misalnya, node A tertentu dapat mengeluarkan sertifikat penipuan yang mengklaim telah menerima blok yang tidak lengkap dari node B. Namun saat ini, belum mungkin untuk menilai apakah balok yang tidak lengkap tersebut dipalsukan oleh A sendiri atau dikirim oleh B. Vitalik menunjukkan bahwa masalah ini dapat diselesaikan dengan DAS pengambilan sampel ketersediaan data (tentu saja ketersediaan data pada dasarnya melibatkan masalah rilis data).
Vitalik memberikan pembahasan sepintas tentang masalah ini dan solusinya dalam "Catatan tentang ketersediaan data dan penghapusan kode". **Dia menunjukkan bahwa sertifikat DA pada dasarnya adalah "penyelesaian" dari sertifikat penipuan. **
Pengambilan Sampel Ketersediaan Data
Namun yang jelas konsep DA tidak begitu mudah untuk dijelaskan, karena dokumen github Vitalik telah diperbaiki sebanyak 18 kali. Catatan, koreksi terakhir disampaikan pada 25 September 2018. Sehari sebelumnya, pada tanggal 24 September 2018, Pendiri Celestia Mustafa dan Vitalik bersama-sama menerbitkan makalah yang akan menjadi terkenal di masa depan—Bukti Penipuan dan Ketersediaan Data: Memaksimalkan Keamanan Klien Ringan dan Menskalakan Blockchain dengan Mayoritas yang Tidak Jujur
Menariknya, penulis pertama makalah ini adalah Mustafa, bukan Vitalik (penulis lainnya kini menjadi peneliti di Sui Public Chain). Artikel tersebut menyebutkan konsep Bukti Penipuan, menjelaskan prinsip pengambilan sampel ketersediaan data DAS, dan secara kasar merancang protokol mashup DAS + pengkodean penghapusan dua dimensi + bukti penipuan. **Makalah ini dengan jelas menyebutkan bahwa sistem bukti DA pada dasarnya merupakan pelengkap yang diperlukan untuk bukti penipuan. **
Jika kita mulai dari sudut pandang Vitalik, peran protokol ini dapat diringkas sebagai berikut:
Asumsikan rantai publik memiliki N node konsensus Validator dengan perangkat keras kelas atas. Throughput datanya besar dan efisiensinya sangat tinggi. Meskipun blockchain tersebut memiliki TPS yang tinggi, jumlah node konsensus N relatif kecil, relatif terpusat, dan kemungkinan kolusi node tinggi.
Namun, setidaknya satu dari N node konsensus akan jujur. **Selama minimal 1/N Validator jujur, **periksa apakah blok tersebut tidak valid, dan bersedia menyiarkan bukti penipuan bila diperlukan, light node atau Validator yang jujur dapat mengetahui bahwa ada masalah keamanan di jaringan , dan dapat menggunakan node jahat Slash dan konsensus sosial ke Forks dan metode lain yang digunakan untuk memulihkan jaringan ke normal.
Namun, seperti disebutkan Vitalik sebelumnya, jika node penuh yang jujur menerima blok dan menemukan bahwa ia kekurangan bagian tertentu, dan menerbitkan sertifikat penipuan, sulit untuk menentukan apakah pengusul blok tidak mempublikasikan bagian data ini, atau diblokir. di tengah jalan, node lain menahannya, atau node yang mengeluarkan sertifikat penipuan bertindak atas inisiatifnya sendiri.
Selain itu, jika sebagian besar node berkolusi, 1/N Validator yang jujur akan diisolasi dan mungkin tidak dapat memperoleh blok baru. Ini dianggap sebagai skenario serangan yang menahan data. Perlu dicatat bahwa saat ini, node yang jujur tidak mengetahui apakah kondisi jaringannya buruk atau ada orang lain yang bersekongkol untuk menyembunyikan data. Ia juga tidak mengetahui apakah node lain juga diisolasi, dan sulit untuk menilai apakah node tersebut. mayoritas orang bersekongkol untuk menyembunyikan data.
Singkatnya, harus ada cara untuk memastikan bahwa Validator yang jujur dapat memperoleh data yang diperlukan untuk memverifikasi blok dengan probabilitas yang sangat tinggi; pada saat yang sama, harus dapat menentukan siapa yang terlibat dalam serangan penyembunyian data** - pengusul blok yang belum mempublikasikan. Jika datanya cukup, masih dikatakan ditahan oleh node lain, atau sebagian besar node berkolusi. Jelas, model keamanan ini memiliki lebih banyak jaminan daripada "asumsi mayoritas jujur" dari rantai POS biasa, dan pengambilan sampel ketersediaan data DAS adalah metode implementasi spesifik.
Kita sekarang berasumsi bahwa ada banyak light node dalam jaringan, mungkin 10 N, dan setiap light node terhubung ke beberapa Validator** (untuk memudahkan analisis, diasumsikan bahwa setiap light node terhubung ke semua N Validator). Node cahaya ini akan meluncurkan pengambilan sampel data ke Validator beberapa kali, secara acak meminta sebagian kecil data setiap kali (dengan asumsi itu hanya menyumbang 1% dari satu blok). Selanjutnya, mereka akan menyebarkan fragmen yang diekstraksi ke Validator yang tidak memiliki data ini. Selama terdapat cukup node cahaya dan waktu pengambilan sampel data cukup sering, bahkan jika beberapa permintaan mungkin ditolak, selama sebagian besar permintaan tersebut ditanggapi, dapat dijamin bahwa semua Validator pada akhirnya akan mendapatkan cukup data yang diperlukan untuk memverifikasi blok. . Hal ini dapat mengimbangi dampak data yang ditahan oleh node selain pengusul blok. **
(Sumber gambar: W3 Hitchhiker)
Dan jika sebagian besar Validator berkolusi dan menolak untuk menanggapi permintaan sebagian besar node ringan, orang akan dengan mudah menyadari bahwa ada masalah dengan rantai tersebut (karena meskipun kecepatan jaringan beberapa orang tidak bagus, itu tidak akan seburuk permintaannya. dari sebagian besar node cahaya) ditolak). Oleh karena itu, skema di atas dapat mendeteksi sebagian besar perilaku kolusi dengan probabilitas yang sangat tinggi, meskipun tentu saja situasi ini sendiri jarang terjadi.
Pada titik ini, kami dapat menyelesaikan ketidakpastian yang datang dari luar pengusul Blokir. Jika pengusul Blok terlibat dalam pemotongan data, misalnya, ia tidak memublikasikan cukup data yang diperlukan untuk memverifikasi blok di dalam blok (setelah diperkenalkannya pengkodean penghapusan dua dimensi, sebuah blok berisi 2k*2k fragmen, dan Memulihkan data asli blok memerlukan setidaknya sekitar k*k fragmen, terhitung 1/4. Pengusul ingin orang lain tidak dapat memulihkan data asli, dan setidaknya k+1*k+1 fragmen memerlukan untuk ditahan),* *Pada akhirnya akan terdeteksi oleh validator yang jujur, yang akan menyiarkan bukti penipuan untuk memperingatkan *****ers lainnya. **
Menurut vitalik dan mustafa, mereka sebenarnya menggabungkan ide-ide yang telah dikemukakan sebelumnya dan melakukan inovasi-inovasi tertentu di atasnya. Dari sudut pandang titik awal dan implementasi keseluruhan konsep, jelas bahwa apa yang disebut "ketersediaan data" mengacu pada apakah data yang diperlukan untuk memverifikasi blok terbaru telah dirilis oleh pengusul blok dan dapat diverifikasi oleh blok tersebut. pemverifikasi Kami menerima. **Ini tentang "apakah data telah dirilis sepenuhnya" dan bukan "apakah data historis dapat diambil".
Cara mengimplementasikan DA Ethereum Rollup
Dengan kesimpulan sebelumnya, mari kita lihat implementasi DA dari Ethereum Rollup. Hal ini sebenarnya relatif jelas: **Pengusul blok di Rollup adalah sequencer, yang akan mengeluarkan verifikasi pada Ethereum sesekali. Data yang diperlukan untuk transisi status Layer2 . **Tepatnya, ini untuk memulai Transaksi ke kontrak yang ditentukan, memasukkan data yang terlibat dalam DA ke dalam parameter input khusus, dan akhirnya dicatat di blok Ethereum. Karena Ethereum cukup terdesentralisasi, Anda dapat yakin bahwa data yang dikirimkan oleh sequencer akan berhasil diterima oleh "validator". Namun peran "verifikator" di berbagai jaringan Rollup berbeda-beda.
*(Sequencer Arbitrum memposting batch transaksi ke kontrak di Ethereum. Kontrak itu sendiri tidak memverifikasi data ini, tetapi hanya menampilkan peristiwa untuk didengarkan oleh node penuh L2, memberi tahu node penuh bahwa sequencer telah merilis batch transaksi ) *
Secara khusus, ZK Rollup menggunakan kontrak Verifikator di Ethereum untuk bertindak sebagai "verifikator". **ZKR hanya perlu mempublikasikan setidaknya Perbedaan Negara + Bukti Validitas, **yaitu, perubahan negara + bukti validitas Kontrak Verifikator akan mendeteksi bukti validitas untuk menentukan apakah dapat cocok dengan Perbedaan Negara. Setelah lolos verifikasi maka L2 Block/Batch yang dikeluarkan sequencer dianggap valid.
(Sumber: Buku Putih Bekas Polygon Hermez)
Rollup yang paling optimis akan merilis lebih banyak data di Ethereum, karena hanya dapat mengandalkan node penuh L2 untuk mengunduh data dan memverifikasi validitas Blok. **Dalam hal ini, setidaknya tanda tangan digital dari setiap transaksi L2 harus diungkapkan (tanda tangan gabungan umumnya digunakan sekarang), dan jika kontrak diadakan, parameter masukan harus diungkapkan. Selain itu, alamat transfer transaksi dan Nilai nonce untuk mencegah serangan replay harus diungkapkan. tunggu. Namun dibandingkan dengan data Transaksi secara lengkap, masih terdapat beberapa pemangkasan.
**Dibandingkan dengan ZK Rollup, biaya DA pada Rollup optimis lebih tinggi, **karena ZK Rollup hanya perlu mengungkapkan perubahan status akhir setelah sekumpulan transaksi dijalankan, dan dilengkapi dengan sertifikat validitas, memanfaatkan kesederhanaan ZK SNARK/STARK; Optimistic Rollup hanya dapat menggunakan metode yang paling rumit, memungkinkan semua transaksi dieksekusi ulang pada node penuh L2 lainnya.
W3hitchhiker sebelumnya memperkirakan secara kasar bahwa tanpa mempertimbangkan 4844 dan blob di masa depan, efek ekspansi ZKR dapat mencapai beberapa kali lipat dari OPR, dan jika mempertimbangkan 4337 dompet pintar terkait (mengganti tanda tangan kunci pribadi dengan data sidik jari dan iris mata), ZKR keuntungannya akan lebih jelas, karena tidak perlu memposting data biner sidik jari dan iris mata ke Ethereum, sedangkan Optimistic Rollup melakukannya).
Sedangkan untuk Validium dan Plasma/Optimium, mereka sebenarnya menggunakan lapisan DA di bawah rantai Ethereum untuk mengimplementasikan DA. Misalnya, ImmutableX, yang menggunakan sistem bukti validitas, telah membangun satu set node DAC (Komite Ketersediaan Data) untuk mempublikasikan data terkait DA; Metis menerbitkan data DA di Memlabs, dan Rooch dan Manta menggunakan Celestia. Saat ini, tampaknya karena keberadaan DAS dan sistem anti penipuan, **Celestia adalah salah satu proyek lapisan DA paling kredibel di luar Ethereum. **
referensi
5