Apa manfaat teknologi Data Availability Sampling? Mengapa kita membutuhkannya?

Foto oleh@testalizeme?utm_source=medium&utm_medium=referral">Testalize.me on Unsplash
Pengetahuan prasyarat:
Serangkaian artikel ini akan memperkenalkan mekanisme operasional DAS melalui Danksharding, serta persamaan dan perbedaan antara Celestia, EigenDA, dan AvailDA. Artikel pertama akan memperkenalkan mengapa kita membutuhkan DAS dan manfaat yang DAS bawa.
Namun sebenarnya, bukan hanya L2, rantai Ethereum itu sendiri juga perlu menghadapi masalah pelepasan data, karena node ringan tidak akan mengunduh data blok lengkap seperti node penuh, sehingga node ringan perlu percaya bahwa "saat blok baru muncul Pada saat itu, data lengkap dari blok tersebut benar-benar dirilis." Ketika node ringan ditipu untuk percaya bahwa blok "tidak lengkap", dampaknya sama seperti ketika ditipu untuk percaya bahwa blok "ilegal" - itu terhubung ke tautan yang tidak digunakan oleh orang lain. Mengakui rantai yang bercabang.

Node penuh tidak akan percaya pada blok yang tidak lengkap, tetapi node ringan akan
Jadi kepercayaan siapa yang dipercayai oleh node ringan Ethereum saat ini untuk memastikan bahwa data blok baru benar-benar dirilis? Jawabannya adalah "Validasi". Ketika node ringan menerima blok baru, itu tidak akan mengunduh data blok lengkap, tetapi akan melihat berapa banyak validator yang memberikan suara untuk blok tersebut. Ketika cukup validator memberikan suara untuk blok ini, ia akan percaya bahwa informasi lengkap dari blok ini memang telah dipublikasikan. Ini adalah asumsi yang termasuk dalam Mayoritas Jujur, yaitu keyakinan bahwa sebagian besar validator adalah orang-orang baik.

Ketika validator yang cukup menandatangani blok, node ringan akan percaya bahwa blok telah sepenuhnya dirilis.
Catatan: Saat ini, node ringan Ethereum sebenarnya tidak mengumpulkan suara dari ratusan ribu validator untuk perhitungan, karena jumlahnya terlalu besar dan perhitungannya terlalu banyak menghabiskan sumber daya. Sebaliknya, sekelompok Sync Committee lain dengan jumlah yang jauh lebih kecil ditugaskan, terdiri dari Tanda tangan validator di dalamnya berfungsi sebagai jaminan untuk node ringan. Ini dianggap sebagai pendekatan transisional, menunggu desain yang lebih lengkap dan matang untuk menggantikannya di masa depan.
Kemampuan yang begitu hebat pasti tidak muncul secara tiba-tiba. Untuk memiliki kemampuan ini, Anda perlu membangun jaringan p2p yang cukup stabil, memiliki cukup pengguna, dan bahkan menambahkan fungsi privasi ke lapisan jaringan. Kemampuan ini adalah fokus dari seri artikel ini - Data Availability Sampling (DAS).
Dalam blockchain dengan DAS, node-node ringan tidak hanya akan secara pasif menerima data blok baru, tetapi akan ikut serta dalam operasi DAS: setiap node ringan harus pergi ke jaringan p2p untuk setiap blok. Di sepanjang jalan, ia mencari beberapa potongan data pada blok dan menyimpan data tersebut, dan membagikannya dengan node lain ketika mereka meminta data. Sama seperti protokol berbagi file terdesentralisasi BitTorrent, node-node dalam jaringan menyimpan dan berbagi data yang mereka pedulikan bersama daripada bergantung pada server terpusat.

Node-node ringan bekerja sama untuk mengambil dan berbagi data fragmen blok melalui jaringan p2p
Catatan: Pada skenario ideal, pengguna blockchain semuanya akan menjalankan node-node ringan, berpartisipasi dalam operasi DAS, dan memastikan keamanan bersama, alih-alih sepenuhnya mempercayai node lain seperti sekarang.
Setiap node ringan tidak dapat percaya bahwa data blok telah benar-benar dirilis sampai berhasil mendapatkan setiap bagian data yang diminta. Namun, begitu setiap bagian data yang diminta diperoleh, node ringan dapat dengan aman percaya bahwa data blok telah dirilis. Informasi telah dirilis sepenuhnya. Tetapi mengapa node ringan dapat dengan aman percaya bahwa data blok lengkap telah dirilis meskipun mereka hanya memiliki data yang terfragmentasi? Hal ini karena node ringan lainnya dalam jaringan juga akan menyimpan data fragmentasi secara terpisah, sehingga jika diperlukan, semua orang akan dapat bekerja sama untuk menyusun data lengkap dari data fragmentasi masing-masing, dan kemampuan ajaib lain dari DAS adalah: Data yang disimpan oleh node ringan tidak perlu mencakup data blok lengkap. Node ringan dapat mengembalikan 100% data selama mereka mendapatkan 50% data.

Selama node ringan memiliki lebih dari 50% data fragmen, mereka dapat memulihkan data blok lengkap.
Catatan: Ini tidak selalu 50%, mungkin lebih tinggi, tergantung pada pengaturan DAS, tetapi pasti akan kurang dari 100%.
Oleh karena itu, dalam DAS, bahkan jika sebagian besar validator memilih untuk suatu blok tertentu, node ringan tidak akan dengan mudah percaya pada blok tersebut. Node ringan akan melakukan sampling (Sampling), yaitu, meminta data fragmen dari blok tersebut. Ketika semua fragmen yang diminta diperoleh, akan dipercayai bahwa data blok telah sepenuhnya dirilis.
Catatan: "Beberapa" merujuk pada fakta bahwa jumlah node ringan yang perlu diambil sampel dan disimpan untuk mengembalikan data lengkap relatif sedikit dibandingkan dengan semua (sangat banyak) node ringan di jaringan.

Alice berhasil mendapatkan informasi yang diminta, sehingga ia percaya bahwa informasi blok telah sepenuhnya dirilis, dan ia akhirnya akan mengambil blok yang dibuang oleh node lain.
Kemudian node ringan yang malang ini akan harus ditipu, dan ini juga merupakan batasan dan trade-off dari DAS: jaminan "pembebasan data yang lengkap" yang disediakan oleh DAS adalah jaminan probabilitas, bukan jaminan 100% dan kategoris, tetapi ini masih lebih baik daripada harus sepenuhnya mempercayai mayoritas validator. Jika Anda merasa bahwa jaminan probabilitas tidak cukup aman dan ingin pasti 100% apakah data blok telah benar-benar dirilis, maka maaf, Anda hanya dapat menjalankan node penuh sendiri untuk mengunduh data blok lengkap.
Catatan: Program yang menjalankan node ringan tidak memiliki cara untuk mengetahui bahwa ia telah ditipu. Bagi program, selama menerima semua data yang diminta, ia akan percaya bahwa blok telah sepenuhnya diterbitkan. Pengguna hanya dapat mengetahui melalui saluran sosial mereka sendiri bahwa suatu blok sebenarnya tidak sepenuhnya dirilis, dan dengan cepat memerintahkan node ringan mereka untuk menandai blok sebagai data yang tidak lengkap.
Pada saat ini, Anda mungkin khawatir, apakah keamanan Anda hanya dapat didasarkan pada “tidak bermusuhan dengan orang yang memproduksi blok” atau “penyerang tidak tahu siapa saya, sehingga dia tidak akan menargetkan saya”? Ya, tetapi itulah mengapa sebelumnya disebutkan bahwa DAS memerlukan fungsi privasi dari lapisan jaringan, karena jika penyerang dapat mengetahui “siapa” yang meminta data fragmen, atau mengetahui bahwa tiga fragmen A, B, dan C adalah “Individu” yang sama yang mencari, maka secara alami dapat dengan mudah menargetkan korban dan memberikan informasi kepada pihak lain. Jika lapisan jaringan hari ini memiliki fungsi privasi, maka penyerang tidak akan memiliki cara untuk mengetahui siapa yang meminta informasi ini. Secara alami, tidak akan ada cara untuk menipu target, dan efisiensi serangan penyerang akan sangat berkurang: tidak ada cara untuk menentukan apakah korban telah ditipu, atau bahkan node ringan apa pun.

Jika penyerang tidak tahu siapa yang meminta informasi, akan sangat sulit menipu node-node ringan.

Tanpa pengkodean penghapusan, selama sedikit blok hilang, itu berarti blok tersebut belum sepenuhnya dirilis.
Jika blok dienkripsi oleh pengkodean penghapusan, maka 100% data dapat dipulihkan dengan, misalnya, 50% data apa pun. Ini berarti bahwa node-node ringan dapat memastikan bahwa mereka dapat memulihkan data selama data fragmen yang diambil bersama mencapai cakupan 50%. Informasi blok lengkap. Dibandingkan dengan cakupan 100%, persyaratan untuk cakupan 50% jauh lebih sederhana. Akan jauh lebih sulit bagi produsen blok jahat untuk menyembunyikan beberapa informasi untuk menipu node-node ringan.
Catatan: 50% hanyalah contoh. Kebutuhan yang berbeda akan memerlukan % yang berbeda untuk restorasi.
Bagaimana memastikan bahwa node ringan menyimpan data yang cukup? Kami perlu memiliki cukup node ringan atau cukup sampel untuk setiap node ringan. Jika sudah cukup node ringan, jumlah kali pengambilan sampel untuk setiap node ringan tidak perlu tinggi; tetapi jika tidak cukup node ringan, maka jumlah kali pengambilan sampel untuk setiap node ringan harus cukup tinggi untuk memastikan bahwa node ringan bekerja sama untuk menyimpan data yang cukup.
Catatan: Jika jumlah node ringan terus bertambah, ukuran data yang dapat mereka simpan bersama sebenarnya dapat meningkat jika jumlah sampel tetap tidak berubah. Sebagai contoh, Celestia, yang akan diperkenalkan dalam seri artikel ini, dapat mendukung ukuran blok yang fleksibel. Blockchain: ukuran blok Celestia dapat disesuaikan sesuai dengan jumlah node ringan dalam jaringan.
Selain itu, lapisan jaringan juga perlu memiliki fungsi privasi, jika tidak, node ringan akan diidentifikasi oleh penyerang. Penyerang tidak akan mempublikasikan lebih dari 50% data, tetapi akan memberikan data yang terfragmentasi yang diminta oleh node ringan yang terkunci. Untuk menyesatkan node ringan agar percaya bahwa data blok telah dirilis sepenuhnya.
Detail dari tiga bagian ini akan diperkenalkan secara lebih rinci dalam rangkaian artikel ini.





