Verkle Trees: Making Ethereum Faster Without Breaking It
By Manmit
Ethereum has grown into the world’s most decentralized and trusted smart contract platform — but with that growth comes an invisible problem: data bloat. Every transaction, every contract, every update adds to a state that every full node must store forever. Over time, this has become a major scalability bottleneck.
Running a full node today requires substantial storage, long sync times, and large proof sizes just to verify simple information like account balances. It works — but it is not efficient, and it certainly isn’t sustainable at global scale.
To address this challenge, Ethereum is introducing a completely new data structure: Verkle Trees. Although it seems like a technical detail, it is one of the most important upgrades for Ethereum’s long-term scalability and decentralization.
Ethereum Has a Storage Problem — and It’s Getting Worse
Every piece of Ethereum’s state is stored permanently across thousands of nodes. That means:
- Full nodes require increasing storage over time
- Syncing a new node can take days
- Proofs are large and expensive to transmit
- Stateless validation is practically impossible
Think of it like asking every librarian in the world to store every book ever published — including first drafts, revisions, and mistakes — on their personal shelves. It’s doable, but not elegant.
Ethereum needs a future where running a node is lightweight, inexpensive, and widely accessible. Verkle Trees are a key part of achieving that vision.
The Vision: Stateless Clients
The idea behind stateless clients is simple but revolutionary:
What if nodes didn’t have to store the entire blockchain state at all?
In a stateless model:
- Clients receive a block along with a witness (small proof containing only the relevant state).
- They verify the block using the witness.
- They discard the data and move on — no long-term storage required.
Why This Matters
- Running a node becomes cheap and accessible
- Syncing becomes nearly instant
- More participants can join the network
- Ethereum becomes more decentralized and resilient
The problem? Ethereum’s current data structure — Merkle Patricia Tries — makes witness proofs far too large. They simply cannot fit within Ethereum’s block-time constraints.
Verkle Trees solve this.
The Limits of Merkle Trees
Merkle Patricia Tries represent data by hashing nodes along a path from the value to the root. To prove a single value, you must include:
- the value
- all sibling hashes along the path
For multiple values, the proof must include multiple paths, making witness sizes balloon quickly. This directly prevents efficient stateless verification.
Ethereum needs a structure that allows compact proofs, even when verifying many values. That is exactly what Verkle Trees provide.
Verkle Trees: A Smarter Way to Prove State
Verkle Trees rely on polynomial commitments — specifically KZG commitments — rather than long hash chains.
You don’t need to understand the math to appreciate the benefits.
How It Works (Conceptually)
- Instead of hashing every node, Verkle Trees create a mathematical commitment to a group of values.
- Any value inside that group can be proven using a small, fixed-size proof.
- This proof works even when proving multiple values at once.
Why Verkle Trees Are Better
- Proofs stay small and consistent regardless of how much data is involved
- No sibling hashes required
- The tree structure is flatter, reducing depth
- Multiple values can be verified with one combined proof
This makes Verkle Trees ideal for enabling stateless clients — and for reducing Ethereum’s verification overhead.
What a Verkle Tree Looks Like
Ethereum stores state as 32-byte keys. Verkle Trees interpret them as:
- Stem: first 31 bytes
- Suffix: final byte (distinguishes multiple values under one stem)
Verkle Trees contain two main node types:
1. Extension Nodes
Hold all values under the same stem, with up to 256 suffixes.
2. Inner Nodes
Organize and connect multiple stems, each with up to 256 children.
Get Manmit’s stories in your inbox
Join Medium for free to get updates from this writer.
This wide, shallow design reduces tree depth, which in turn reduces proof size.
A Simple Code Analogy (Not Real Cryptography)
class VerkleProofDemo:
def __init__(self, root):
self.root = rootdef create_proof(self, keys, values):
return {
"root": self.root,
"keys": keys,
"values": values,
"proof": f"Proof for {len(keys)} values"
} def verify(self, proof):
print(f"Verifying proof using root {proof['root']}")
return True# Example usage
if __name__ == "__main__":
tree = VerkleProofDemo("0xRootHash")
keys = ["user1_balance", "user2_balance", "vault_data"]
values = ["100 ETH", "500 USDC", "3000 DAI"]
proof = tree.create_proof(keys, values)
print("Is proof valid?", tree.verify(proof))
Analogy
Think of the tree root as a signed library certificate.
If someone wants to prove that certain books exist inside the library, they don’t need the entire catalog. A small stamped list verifies those titles. Whether you’re proving one book or ten, the size of the certificate remains about the same.
Where Verkle Trees Stand Today
Verkle Trees have moved well beyond theory. Ethereum client teams — including Geth, Erigon, and Nimbus — are actively implementing and testing them.
Progress includes:
- Dedicated Verkle testnets
- Experimental client implementations
- Research on migration strategies
- Community-wide testing and auditing
Because the change affects how Ethereum stores and verifies all state data, the rollout must be cautious, phased, and thoroughly validated.
Developers can already experiment with test clients and tools to prepare for the transition.
Security Considerations
No major upgrade comes without risks. Verkle Trees rely on advanced cryptography and introduce new validation logic.
Potential Risks
- A flaw in KZG commitment math could compromise proofs
- Implementation bugs could cause clients to accept invalid state
- Migrating from Merkle to Verkle structures is complex and must be carefully orchestrated
How Ethereum Mitigates These Risks
- Multiple independent client implementations
- Formal verification of critical components
- Extensive testnets and fuzzing
- Multi-team audits and peer review
- Phased rollout with safe fallback paths
Security remains the top priority throughout the transition.
Final Thoughts: Why Verkle Trees Matter
Verkle Trees mark one of the most important architectural upgrades in Ethereum’s history. They enable:
- Smaller proofs
- Stateless clients
- Faster synchronisation
- Lower hardware requirements
- Greater decentralisation
As Ethereum grows into a global settlement layer, these improvements are essential. Verkle Trees help ensure the network remains accessible, efficient, and resilient — ready to support millions of users and applications for decades to come.
They aren’t just a technical improvement; they’re a foundational step toward a faster, lighter, and more decentralised Ethereum.


