# The Path to Stateless Ethereum(Verkle Trees )
Ethereum needs a way to grow without becoming too hard or too expensive for people to run nodes. One of the biggest problems today is **state size**, the amount of data nodes must store to keep Ethereum running.
**Verkle trees** are a new data structure designed to fix this problem and make Ethereum more decentralized.
---
## What Is a Verkle Tree?
A **Verkle tree** is a smarter way to organize Ethereum’s data.
The name comes from:
* **Ver** => Vector commitment
* **Merkle** => Merkle trees (used in Ethereum today)
So, Verkle = Vector commitment + Merkle tree
The main goal of Verkle trees is simple:
> **Allow Ethereum nodes to stop storing huge amounts of data, while still being able to verify blocks correctly.**
---
## Why Is Ethereum’s State a Problem?
Ethereum keeps track of:
* Account balances
* Smart contract storage
* Contract code
* Nonces and other data
All of this is called **state**.
Right now, every full Ethereum node must store **almost all of this state** on disk. Over time, this state keeps growing, which means:
* More disk space is needed
* More powerful hardware is required
* Fewer people can afford to run nodes
This hurts decentralization.
---
## What Are Stateless Clients?
A **stateless client** is an Ethereum node that **does not store the full state**.
Instead of keeping all Ethereum data locally, it checks blocks using something called a **witness**, which comes with the block.
Think of it like this:
* Today: You store the whole textbook to answer exam questions
* Stateless: You receive only the exact pages needed for today’s exam, plus proof they’re real
Stateless clients are lighter, faster, and easier to run.
---
## What Is a Witness?
A **witness** is a small package of data that includes:
* Only the pieces of state needed to run the transactions in a block
* A cryptographic proof that this data is correct
Validators use the witness to:
1. Re-run the block’s transactions
2. Check the state changes
3. Confirm the block is valid
For this to work well:
* Witnesses must be **small**
* They must be shared across the network **within 12 seconds**
Big witnesses = slow network = fewer validators.
---
## Why Merkle Trees Don’t Work Well for Stateless Clients
Ethereum currently uses **Merkle Patricia Tries**.
The problem is:
* Merkle proofs need many hashes
* They include “sibling nodes” at every level
* The tree is deep, so proofs are large
This makes witnesses **too big**, sometimes several megabytes, which is not safe to send every 12 seconds.
Big witnesses push out users with slower internet and cheaper hardware.
---
## How Verkle Trees Fix This
Verkle trees make witnesses **much smaller** by:
### 1. Making the Tree Flatter
* Merkle trees are tall and narrow
* Verkle trees are wide and short
Fewer levels means fewer steps from data to the root.
### 2. Removing the Need for Sibling Hashes
Verkle trees use **vector commitments**, so proofs don’t need all sibling data.
### 3. Using Polynomial Commitments (Advanced but Powerful)
With polynomial commitments:
* Proof size stays almost the same no matter how much data is proven
* Witnesses become tiny and efficient
This is the key reason Verkle trees enable stateless clients.
---
## How Much Smaller Are Verkle Witnesses?
Let’s compare:
For a block needing proof of 1,000 state values:
* **Merkle tree witness:** ~3.5 MB
* **Verkle tree witness:** ~150 KB
→ about **23× smaller**
With polynomial commitments:
* Witness size can be as small as **0.1–1 KB**
That’s small enough to safely send with every block.
---
## What Does a Verkle Tree Look Like?
Verkle trees store **key–value pairs**.
* Each key is 32 bytes
* First 31 bytes = **stem**
* Last byte = **suffix**
Nodes in the tree:
* **Extension nodes**: one stem, up to 256 children
* **Inner nodes**: connect other nodes together
Because each node can hold many children, the tree stays flat and efficient.
---
## Why Verkle Trees Are Important for Ethereum
Verkle trees help Ethereum:
* Reduce storage requirements
* Support stateless clients
* Lower hardware costs
* Improve decentralization
* Make running nodes easier for everyone
They are one of the most important upgrades on Ethereum’s roadmap.
---
## Summary
* Ethereum state is too big
* Stateless clients avoid storing full state
* Stateless clients need small witnesses
* Merkle trees create large witnesses
* **Verkle trees create small witnesses**
* Small witnesses = more decentralization