Data Availability dan Perannya di Jaringan Blockchain
Data Availability merujuk pada kondisi di mana semua data terkait transaksi yang terjadi di atas blockchain dapat diakses oleh nodes. Keberadaan (availability) dari data ini penting untuk menunjang proses verifikasi yang dilakukan nodes secara independen dan mengeksekusi algoritma blockchain tanpa perlu memverifikasi data dari node satu sama lain.
Data Availability memungkinkan node untuk mengunduh data yang tersebar pada block lewat jaringan peer-to-peer, untuk keperluan verifikasi yang efisien. Lalu, seperti apa proses verifikasi block ini dilakukan?
Proses Verifikasi Block
- Produsen block (block producer) atau yang banyak dikenal sebagai miner (penambang koin) pada jaringan Proof-of-Work (seperti Bitcoin) dan validator pada jaringan Proof-of-Stake mengambil data dari mempool. Mempool adalah singkatan dari memory dan pool. Kita bisa menganggap mempool ini sebagai ruangan bagi transaksi yang belum dan siap diproses ke dalam block.
- Block baru kemudian dibuat dari transaksi baru yang diambil barusan, dan mengumumkan block baru tersebut ke jaringan P2P untuk ditambahkan ke chain.
- Validating node, atau full node akan mengunduh transaksi dari block yang baru saja diterbitkan,
- Mengeksekusi ulang transaksi untuk memastikan kepatuhan dengan aturan dari consensus, dan kemudian menambahkan block ke dalam jaringan setelah block tersebut dikonfirmasi dan valid.
Pentingnya Penerapan Data Availability
Masalah terjadi bila penerbit/proposer dari block menolak untuk mempublikasikan data transaksi dan hanya menerbitkan block header, yang mana hanya berisikan metadata dari transaksi, bukan transaksinya sendiri. Dalam skenario ini, full node tidak akan bisa mengecek integritas dari block yang diajukan. Ditambah lagi, light node yang hanya berfungsi untuk mengunduh block header dapat berpotensi untuk salah memverifikasi block yang tidak valid, menghasilkan block tersebut juga ikut membahayakan integritas jaringan.
Salah satu bahaya yang disebabkan oleh Jika tidak segera ditangani meliputi tidak layaknya record transaksi yang masuk, data yang tidak konsisten, yang mana akan menyebabkan mayoritas pengguna dari dApps menemukan banyak kesenjangan pada pengalaman berinteraksi dengan aplikasi, misalnya. Integritas yang buruk ini juga dapat menyebabkan rentannya jaringan terhadap serangan (attack). Penjelasan dan varian dari attack ini bisa ditelaah lebih lanjut pada artikel ini.
Maka dari itu, beberapa jaringan berupaya untuk menghindari masalah ini dengan mengharuskan block proposer untuk menghadirkan data (data availability) kepada seluruh jaringan.