Avail: Layer Data Availability Modular dengan KZG 2D dan Data Availability Sampling

Penulis Paul, Anurag; Kannan, Prabal; et al. (Avail Project)
Tahun 2022
Proyek Avail
Lisensi MIT
Sumber Resmi github.com/availproject/data-availability
Disclaimer: Halaman ini merupakan ringkasan dan analisis edukatif dari whitepaper atau makalah teknis resmi. Konten ini disajikan untuk tujuan pendidikan semata dan bukan merupakan saran investasi atau keuangan. Selalu baca dokumen asli dan lakukan riset mandiri sebelum mengambil keputusan keuangan apa pun.

Avail adalah blockchain data availability (DA) modular yang dijelaskan dalam dokumen referensi 2022 oleh tim Avail Project (semula Polygon Technology). Fungsi tunggal Avail adalah memesan data blok transaksi dan menjamin ketersediaannya menggunakan kombinasi KZG polynomial commitments, 2D Reed-Solomon erasure coding, dan Data Availability Sampling (DAS) untuk light client. Rollup, validium, dan sovereign chain dapat memposting data transaksi ke Avail sebagai lapisan DA alternatif yang lebih murah dari Ethereum L1, sambil mendapatkan jaminan ketersediaan yang dapat diverifikasi secara kriptografis.

Masalah Data Availability

Ketika block producer mempublikasikan blok, harus dapat diverifikasi bahwa:

  1. Data blok benar-benar tersedia (tidak ditahan)
  2. Data dikodekan dengan benar (tidak rusak)

Tanpa jaminan DA, block producer yang tidak jujur dapat mempublikasikan header blok dengan komitmen valid tetapi menahan data underlying — mencegah pengamat mendeteksi penipuan atau menghasilkan fraud proof. Solusi Avail: membangun blok sehingga light client dapat memverifikasi ketersediaan dengan menyampel chunk kecil acak — tanpa mengunduh seluruh blok.

Erasure Coding 2D Reed-Solomon

Avail menggunakan erasure coding Reed-Solomon dua dimensi alih-alih 1D:

  1. Data blok disusun dalam matriks k×k
  2. Setiap baris diperpanjang dari k ke 2k simbol menggunakan Reed-Solomon (erasure coding 1D)
  3. Setiap kolom juga diperpanjang dari k ke 2k simbol
  4. Hasilnya adalah matriks 2k×2k di mana data asli dapat dipulihkan dari kuadran mana pun yang cukup besar

Mengapa 2D? Dengan erasure coding 1D, block producer jahat dapat menahan segmen berurutan yang mencegah fraud proof spesifik. Dengan coding 2D, submatriks (k+1)×(k+1) mana pun cukup untuk merekonstruksi blok penuh, dan sampling acak memberikan probabilitas deteksi penahanan yang sangat tinggi.

KZG Commitments per Baris dan Kolom

Untuk setiap baris dan kolom dari matriks 2D yang diperpanjang, Avail menghitung KZG polynomial commitment:

  • Baris i diperlakukan sebagai polinomial $p_i(x)$; commitmentnya $C_i = [p_i( au)]_1$
  • Kolom j diperlakukan sebagai polinomial $q_j(x)$; commitmentnya $D_j = [q_j( au)]_1$
  • Commitment baris dan kolom diterbitkan di header blok

Verifikasi light client: Light client menyampel sel acak (i, j) dan menerima nilai sel + bukti KZG bahwa nilainya konsisten dengan commitment baris i dan commitment kolom j. Memeriksa keduanya memastikan sel benar-benar dikodekan dalam matriks 2D. Light client yang menyampel 40 sel acak mencapai probabilitas >99,9999% mendeteksi blok di mana >50% sel ditahan.

Nominated Proof of Stake (BABE + GRANDPA)

Konsensus validator Avail menggunakan NPoS (Nominated Proof of Stake) — model yang sama dengan Polkadot — via kombinasi BABE + GRANDPA:

  • BABE: Pemilihan leader berbasis VRF untuk produksi blok; memberikan finalitas probabilistik.
  • GRANDPA: Protokol Byzantine Agreement untuk finalitas deterministik atas chain blok BABE.

Nominator men-stake token AVAIL untuk mendukung validator. Validator yang berperilaku buruk (ekuivokasi atau menahan data) di-slash.

Namespacing Data

Seperti Celestia, Avail mendukung namespacing data: setiap blok dapat berisi blob data yang diberi tag dengan namespace ID spesifik aplikasi. Rollup yang menggunakan Avail hanya perlu mengunduh blob dengan namespace miliknya — bukan blok Avail penuh. Ini memungkinkan beberapa rollup berbagi satu blok Avail tanpa membayar atau memproses data satu sama lain.

Avail vs. Celestia vs. EigenDA

Aspek Avail Celestia EigenDA
Coding 2D RS + KZG 2D RS + NMT 1D RS + KZG
Konsensus NPoS (BABE+GRANDPA) Tendermint (CometBFT) Ethereum restaking
DAS light client Ya Ya Parsial

Istilah Terkait

Referensi