| Penulis | Kuszmaul, John (MIT) |
|---|---|
| Tahun | 2018 |
| Proyek | Ethereum Verge (Verkle Trees) |
| Lisensi | Public |
| Sumber Resmi | math.mit.edu/research/highschool/primes/materials/2018/Kuszmaul.pdf |
Makalah “Verkle Trie for Ethereum State” oleh John Kuszmaul (MIT, 2018) memperkenalkan Verkle Tree sebagai pengganti Merkle Patricia Trie (MPT) Ethereum. Inovasi kunci: menggunakan vector commitments (KZG polynomial commitments atau Inner Product Arguments) daripada hash Merkle biasa, menghasilkan witness yang jauh lebih kecil — dari ~4 MB menjadi ~150 kB per proof.
Verkle Tree adalah komponen inti dari upgrade Ethereum “The Verge” — yang memungkinkan klien stateless (node yang tidak perlu menyimpan seluruh state Ethereum).
Masalah dengan Merkle Patricia Trie
Ethereum saat ini menggunakan Merkle Patricia Trie (MPT) untuk menyimpan state (saldo akun, storage kontrak). Untuk membuktikan bahwa saldo akun tertentu valid, node harus memberikan Merkle proof:
- Setiap level trie memerlukan semua sibling hash — biasanya 16 anak (hexary) per node
- Trie Ethereum sedalam ~8–10 level
- Ukuran witness: ~4 MB per akun dalam state Ethereum ukuran saat ini
- Implikasi: “klien stateless” yang hanya memvalidasi blok tanpa menyimpan seluruh state tidak mungkin secara praktis dengan MPT
Verkle Tree: Komitmen Vektor sebagai Pengganti Hash
Verkle Tree menggantikan hash Merkle di setiap node dengan vector commitment:
- KZG polynomial commitments: Komitmen ke polinomial yang mengevaluasi ke nilai anak-anak pada titik-titik yang ditetapkan. Membuka satu evaluasi = proof bahwa nilai anak ke-i adalah X.
- IPA (Inner Product Arguments): Alternatif yang tidak memerlukan trusted setup (dipilih Ethereum menggunakan Bandersnatch curve)
- Proof membuka satu anak tidak memerlukan nilai semua sibling — hanya satu evaluasi polinomial yang aggregatable
Pengurangan Ukuran Witness
| Properti | Merkle Patricia Trie | Verkle Tree |
|---|---|---|
| Ukuran witness per akun | ~4 MB | ~150 kB |
| Bukti per level | 15 hash sibling (16-ary) | ~48 byte (KZG opening) |
| Agregasi proof | Tidak | Ya (KZG aggregatable) |
| Klien stateless | Tidak praktis | Memungkinkan |
Ethereum “The Verge”
Upgrade “Verge” Ethereum (direncanakan ~2025–2026) akan mengganti MPT dengan Verkle Tree menggunakan:
- IPA commitments di atas kurva Bandersnatch (lebih efisien untuk sirkuit ZK dibandingkan BN254)
- Lebar pohon 256 (256-ary vs. 16-ary MPT) — lebih dangkal, witness lebih pendek
- Migrasi state: semua akun Ethereum perlu di-konversi dari MPT ke Verkle format
Setelah The Verge, node Ethereum dapat memvalidasi blok hanya dengan witness yang dikirim bersama blok — tanpa harus menyimpan seluruh state Ethereum (ratusan GB). Ini secara dramatis menurunkan hambatan menjalankan full node.
Catatan Realistis
- Verkle Tree adalah peningkatan kriptografi yang terdefinisi dengan baik dengan manfaat yang terukur jelas. Pengurangan 26x ukuran witness adalah konkret dan signifikan.
- Kompleksitas migrasi: Memigrasikan seluruh state Ethereum dari MPT ke Verkle adalah operasi yang kompleks — ini adalah hambatan terbesar menuju deployment.
- Trusted setup untuk KZG: Meskipun Ethereum memilih IPA (tanpa trusted setup), implementasi yang menggunakan KZG memerlukan ceremony trusted setup seperti EIP-4844 (KZG ceremony).
Istilah Terkait
Referensi
- Kuszmaul, J. (2018). Verkle Trie for Ethereum State. MIT PRIMES. math.mit.edu