← Workspace Index

Merkle Tree vs Verkle Tree

Why Ethereum's roadmap (The Verge) replaces hash-sibling proofs with vector commitments · 머클 트리와 버클 트리 비교 — 증명 크기가 핵심

1. Structure & proof — the picture 구조와 증명

Merkle Root H(AB) H(CD) ★ A (leaf) ★ B (leaf) C (leaf) D (leaf)
Proving leaf B: you must ship every ★ sibling hash on the way up (log₂ n hashes; 16-ary MPT ships up to 15 siblings per level). 형제 해시를 전부 동봉해야 루트를 재계산할 수 있음.
Verkle C₀ = Commit(root) child 0… C₁ child 255 value v π — ONE aggregated opening proof (~150 B), no siblings
Each node is a vector commitment over 256 children. A commitment can be opened directly at index i — no siblings needed; all levels aggregate into one tiny proof π. 형제 노드 없이 인덱스 열림 증명 하나로 끝.

2. Side-by-side 비교표

Merkle (/ Merkle-Patricia)Verkle
Node primitiveHash (Keccak/SHA-256) of childrenVector commitment (Ethereum: Pedersen + IPA on Bandersnatch; KZG is the alternative)
Node width2 (classic) / 16 (Ethereum MPT)256 — tree is much shallower
Proof containsAll sibling hashes per levelPath commitments + one aggregated opening proof — no siblings
Proof size (state-scale)~3–4 KB per key in Ethereum's MPT (worse with depth)~150–200 bytes per key; multiproof amortizes across many keys
Verify costA few hashes — very cheapElliptic-curve ops — heavier CPU, but bandwidth is the bottleneck being solved
Post-quantumHash-based → holds upEC-based → not PQ-safe (known trade-off; PQ successors researched)
Update costRecompute path hashes — cheapCommitment updates are homomorphic (add a delta) — fine, but more math
Where usedBitcoin block txs · Ethereum state today (MPT) · certificate transparency · airdrops/allowlistsEthereum roadmap "The Verge" — statelessness; no major mainnet yet

3. Why Ethereum wants it 왜 필요한가

Stateless clients. Today a validator needs the full state (hundreds of GB) to execute a block. If every block instead carries a witness — proofs for exactly the state it touches — validators could verify with no local state. With MPT proofs that witness is hundreds of MB–GB scale (too big); with Verkle it drops to a few hundred KB–MB — small enough to gossip with the block.

블록에 "그 블록이 만지는 상태의 증명(witness)"을 동봉해 무상태 검증을 가능하게 하는 것이 목적. 머클 증명으론 witness가 너무 커서 불가능하고, 버클로는 블록과 함께 전파 가능한 크기가 됨.

Name: Verkle = Vector commitment + Merkle (Kuszmaul, 2018). Same tree idea — only the "how do I prove a child belongs to its parent" primitive changes, and that one change is what collapses the proof size.

4. One-line takeaway 한 줄 요약

Merkle proves membership by shipping the neighbors; Verkle proves it by opening a commitment — so the proof stops growing with the tree's width and barely grows with its depth.
머클은 이웃(형제 해시)을 동봉해 증명하고, 버클은 커밋먼트를 열어 증명한다 — 그래서 증명 크기가 트리 폭과 무관해지고 깊이에도 거의 영향받지 않는다.
rabbit · docs/knowledge · added 2026-07-17 (source: jay's Merkle/Verkle note — flow-map/comparison request)