Cara Kerja Blob Transaction
EIP-4844 menambahkan "blob-carrying transaction" sebagai langkah menuju danksharding (sering disebut proto-danksharding). Tujuannya adalah memberi rollup cara yang lebih murah untuk mempublikasikan data batch mereka ke Ethereum dibandingkan menaruhnya di calldata.
Sebuah blob transaction mencakup kolom bergaya EIP-1559 yang biasa, ditambah max_fee_per_blob_gas dan daftar blob_versioned_hashes (pengidentifikasi yang diturunkan dari komitmen KZG). Execution layer (EL) memproses transaksi ini seperti transaksi lainnya, tetapi tidak memiliki akses ke isi blob—hanya ke komitmen/hash-nya.
Data blob itu sendiri disebarkan dan divalidasi melalui consensus layer (CL). Node dapat memverifikasi bahwa blob sesuai dengan komitmennya menggunakan mekanisme komitmen KZG, termasuk precompile point-evaluation yang digunakan untuk verifikasi bukti. Karena blob dimaksudkan untuk ketersediaan data, bukan penyimpanan permanen, protokol dirancang agar data ini dapat dipangkas (pruning) setelah periode retensi yang relatif singkat.
Data blob juga memiliki pasar biaya tersendiri. Selain biaya gas reguler untuk eksekusi, blob transaction membayar biaya blob terpisah (blob base fee) yang dihargai dalam "blob gas". Hal ini menciptakan pasar tersendiri untuk bandwidth ketersediaan data, yang dapat bergerak independen dari harga gas L1 normal.
Contoh
Jika calldata ibarat menulis pesan secara permanen ke dalam catatan publik Ethereum, maka blob transaction ibarat mengunggah lampiran berukuran besar yang dapat diverifikasi dan tersedia untuk sementara waktu, tetapi tidak disimpan selamanya.
Mengapa Penting
Blob transaction terutama ditujukan untuk rollup: ketersediaan data yang lebih murah di Ethereum dapat menekan biaya operasional rollup dan, dalam banyak kasus, biaya bagi pengguna akhir. Blob transaction juga mempersiapkan Ethereum untuk peningkatan skalabilitas di masa depan dengan memperkenalkan format transaksi dan model penetapan harga yang dibutuhkan untuk danksharding penuh.
Risiko atau Keterbatasan
Isi blob tidak dapat diakses oleh eksekusi EVM, sehingga kontrak tidak dapat membaca atau melakukan komputasi atas data blob secara langsung. Data blob dimaksudkan agar dapat dipangkas, sehingga aplikasi yang membutuhkan pengambilan data jangka panjang harus mengandalkan infrastruktur pengindeksan/arsip. Throughput blob per blok dibatasi (melalui target/batas blob gas), sehingga kemacetan dapat mendorong naik biaya blob, dan transaksi bisa gagal masuk jika max_fee_per_blob_gas ditetapkan terlalu rendah.