Merkle Tree

Merkle tree adalah pohon biner dari hash di mana setiap node bukan-daun adalah hash kriptografis dari dua anaknya, berlanjut hingga satu Merkle root tersisa — sidik jari 32-byte kompak yang mewakili seluruh dataset di bawahnya; Bitcoin menggunakannya untuk meringkas semua transaksi dalam sebuah blok di header blok, dan sifat utamanya adalah efisiensi: memverifikasi bahwa satu item ada dalam jutaan item hanya memerlukan O(log n) hash melalui Merkle proof.


Cara Kerja

Konstruksi (bottom-up):

  1. Ambil dataset (misalnya 8 transaksi: T1–T8)
  2. Hash setiap item: H(T1), H(T2), …, H(T8) — ini adalah daun
  3. Pasangkan hash yang berdekatan dan hash setiap pasang: H(H(T1)+H(T2)) = H12, dll.
  4. Ulangi hingga satu hash tersisa: Merkle root

“`

[Root]

/

[H1234] [H5678]

/ /

[H12] [H34] [H56] [H78]

/ / / /

T1 T2 T3 T4 T5 T6 T7 T8

“`

Mengapa efisien:

Untuk membuktikan T3 ada di pohon, kamu hanya perlu: H(T4), H12, dan H5678 — hanya 3 hash untuk 8 item. Untuk 1 miliar item (~2^30), kamu hanya perlu 30 hash.

Bukti gangguan:

Mengubah transaksi mana pun mengubah hashnya, yang mengubah hash induknya, yang merambat ke atas — mengubah Merkle root. Karena Merkle root disimpan di header blok dan ditandatangani oleh jaringan, setiap gangguan langsung terdeteksi.

Penggunaan Bitcoin

Di Bitcoin, setiap blok berisi Merkle root di header blok yang mewakili semua transaksi di blok tersebut. Ini memungkinkan Simplified Payment Verification (SPV): klien ringan (seperti dompet mobile) dapat memverifikasi bahwa transaksi tertentu disertakan dalam blok yang ditambang hanya dengan mengunduh header blok (80 byte) dan meminta Merkle proof dari full node — tanpa mengunduh blok penuh.

Ekstensi Ethereum: Merkle Patricia Trie

Ethereum menggunakan Merkle Patricia Trie (MPT) — struktur yang lebih canggih yang menggabungkan Merkle tree dengan Patricia trie. Seluruh state Ethereum (semua saldo akun, storage kontrak, kode) disimpan dalam MPT, dengan state root di setiap header blok. Ethereum mempertahankan 3 trie terpisah per blok: state trie, transaction trie, dan receipt trie.

Aplikasi di Luar Struktur Blok

Airdrop token: Tim dapat berkomitmen pada daftar penerima airdrop yang memenuhi syarat hanya dengan menerbitkan Merkle root on-chain (murah — 32 byte). Penerima menghasilkan Merkle proof mereka sendiri dan mengirimkannya dengan transaksi klaim.

Bridge dan pesan lintas-chain: L2 dan bridge lintas-chain menggunakan Merkle proof untuk memverifikasi bahwa transaksi terjadi di chain lain dengan memeriksa Merkle root yang diterbitkan.


Sejarah

  • 1979 — Ralph Merkle mempatenkan struktur Merkle tree, awalnya untuk tanda tangan digital yang efisien.**
  • 2009 — Bitcoin menggunakan Merkle tree untuk meringkas transaksi di setiap blok, memungkinkan verifikasi yang efisien.**
  • 2015 — Ethereum memperkenalkan Merkle Patricia Trie, versi yang lebih canggih untuk menyimpan state account yang kompleks.**

Kesalahpahaman Umum

“Merkle tree hanya penting untuk blockchain.”

Merkle tree digunakan secara luas di luar blockchain: Git menggunakan struktur mirip Merkle (Merkle DAG) untuk membuat riwayat commit tahan gangguan; sistem penyimpanan terdistribusi seperti IPFS juga menggunakannya.

“Merkle proof memerlukan seluruh blockchain.”

Itulah tepatnya yang dihindari Merkle proof — kamu hanya memerlukan O(log n) hash untuk membuktikan keberadaan item, bukan seluruh dataset. Inilah yang membuat klien ringan Bitcoin (SPV) dapat beroperasi tanpa mengunduh blockchain penuh.

Kritik

  • Kompleksitas implementasi membuka ruang bug: Merkle tree yang diimplementasikan dengan salah bisa menghasilkan proof yang tidak valid atau vulnerability yang dapat dieksploitasi. Bug pada implementasi Merkle tree di protokol kripto telah menyebabkan beberapa hack.
  • Proof of reserves berbasis Merkle bisa dimanipulasi: Exchange yang mengklaim membuktikan cadangan dengan Merkle tree bisa saja memasukkan liabilitas yang tidak lengkap atau menggunakan aset pinjaman sesaat. Merkle proof membuktikan inklusi, bukan solvabilitas penuh.
  • Efisiensi menurun untuk update yang sering: Merkle tree sangat efisien untuk verifikasi statis, tapi update yang sering (seperti UTXO set Bitcoin yang berubah setiap blok) membutuhkan recomputasi yang mahal.

Sentimen Media Sosial

  • r/Bitcoin / r/ethereum: Merkle tree adalah topik teknis yang dibahas dalam konteks SPV (Simplified Payment Verification) Bitcoin dan light client Ethereum. Proof of reserves berbasis Merkle mendapat perhatian pasca-FTX collapse.
  • X/Twitter: Merkle proof dibahas oleh developer dan peneliti blockchain. Setelah FTX, ada gelombang proyek exchange yang mengklaim “Merkle tree proof of reserves” — dan banyak kritik tentang apakah ini benar-benar membuktikan solvabilitas.
  • Telegram (komunitas kripto Indonesia): Merkle tree lebih dikenal sebagai konsep teknikal di kalangan developer Indonesia — kurang dibahas di komunitas investor umum kecuali dalam konteks “proof of reserves” exchange.

Terakhir diperbarui: 2026-04


Istilah Terkait


Lihat Juga


Sumber