DEV Community

Yelyzaveta Dymchenko
Yelyzaveta Dymchenko

Posted on

Everything you want to know about Ethereum Stateless

The Ethereum State is becoming unmanageable.

To verify blocks today, running a node requires a 2TB+ NVMe SSD and significant bandwidth. This hardware barrier forces centralization, pushing users to rely on trusted third parties like Infura or Alchemy instead of verifying the chain themselves.

The solution is Stateless Consensus - a fundamental shift in how nodes communicate. This article explores the mechanics of Verkle Trees, the engineering constraints of the network, and why solving the "Concurrency Trap" is critical for Ethereum's roadmap.


The Constraints: Latency & Bandwidth

Why can't we just send the data needed to verify a block?

To verify a block statelessly, a node needs specific account values (balances, nonces, code) along with a cryptographic proof that these values are correct. This package is called The Witness.

The problem is network propagation. Blocks must propagate across the global P2P network in seconds. If we used today's math, the Witness would be 10-20 MB per block. At that size, propagation slows down, stale block rates increase, and only massive data centers can keep up.

To make statelessness viable, we need to shrink that proof from 20 MB to <100 KB.


The Architecture of Statelessness

Statelessness splits the network into two distinct classes of nodes:

  1. Proposers (Heavy): These nodes store the full 2TB state. They build the blocks and generate the Witness.
  2. Validators (Light): These nodes store nothing. They receive the (Block, Witness) tuple and verify it mathematically.

The Bottleneck: Merkle Patricia Tries

Ethereum currently uses Merkle Patricia Tries (Radix-16). In this structure, every node has 16 children. To prove that one specific child value exists, you must provide the hashes of all 15 siblings at every level of the tree's depth.

The Math:

Size ≈ 15 × Depth × 32 bytes

This scales linearly. As the state grows, the tree gets deeper, and the proof gets bigger. Currently, this results in roughly 3-4 KB per account. In a busy block consuming 30M gas, the total witness data exceeds the bandwidth budget of the P2P network.


The Fix: Verkle Trees & Vector Commitments

To solve this, Ethereum is moving to Verkle Trees.

In a Verkle Tree, we make the structure much wider. Each node has 256 children instead of 16. Normally, proving one child among 256 would require sending 255 sibling hashes—a massive amount of data.

The Solution: Polynomials

Instead of hashing the siblings, we treat the 256 children as coefficients (v) of a polynomial P(x). It looks like this:

P(x) = v₀ + v₁x + v₂x² + ... + v₂₅₅x²⁵⁵

We then "commit" to this entire polynomial using KZG Commitments.

The KZG Magic Formula 🔮

The commitment C is a single curve point, derived from a secret value s. It is calculated by multiplying the Generator point G by the polynomial's value at s:

C = G • P(s)

To prove a specific child value y at index z, the prover calculates a Quotient Polynomial Q(x):

Q(x) = (P(x) - y) / (x - z)

Why this formula works:
The logic relies on polynomial divisibility. If the value at index z is truly y, then subtracting y from the polynomial makes it perfectly divisible by (x - z). If the value were anything else, there would be a "remainder" left over, and Q(x) would not be a valid polynomial. By providing the commitment to Q(x), the prover demonstrates that the division was clean and the data is correct.

The "Proof" is simply the commitment to this quotient polynomial Q(x). This proof is a constant 48 bytes, regardless of whether the tree is wide or narrow.

The Impact: Bandwidth Saved

  • Merkle Proof: ~3,000 bytes per account (Linear complexity).
  • Verkle Proof: ~150 bytes per account (Constant complexity). This reduces the stateless block witness from 10 MB down to 200 KB.

The Engineering Challenges

1. The Trade-off: Trusted Setup

KZG Commitments require a "Structured Reference String" (SRS)—a set of parameters generated using a secret value $s$.

  • The Risk: If an attacker knows s, they can fake proofs P'(s) = P(s) and trick the network into accepting bad data.
  • The Defense: The "Powers of Tau" Ceremony. Over 140,000 participants contributed entropy to generate these parameters. As long as one single person in that chain deleted their "toxic waste" (secret randomness), the system is mathematically secure.

2. The Concurrency Trap (Race Condition)

Who should generate these proofs? There are two approaches:

  1. Strong Statelessness: Users generate proofs for their own transactions.
  2. Weak Statelessness: Block Builders generate proofs for everyone.

Ethereum has chosen Weak Statelessness because of a fundamental distributed systems problem: The Race Condition.

If users had to make these proofs themselves, their transactions would often fail when the network is busy. Therefore, the burden is placed on the Block Builders (Proposers), who have the server capacity to regenerate proofs instantly.


Future Proofing: State Expiry

Another piece of the puzzle is State Expiry (EIP-7736). Statelessness solves the verification problem, but the underlying database (stored by Proposers) still grows endlessly.

  • Mechanism: Epoch-based tree rotation.
  • Logic: If a "leaf" (account) is not accessed for ~1 year, it is dropped from the active tree.
  • Restoration: To use that account again, the user must provide a proof from the "Archive" to reactivate it.

Conclusion: The "Verge" Vision

All of this math serves one singular vision in Vitalik’s roadmap, known as "The Verge." The goal is to make the chain so lightweight that verifying Ethereum no longer requires trusting centralized providers like Alchemy or Infura.

Today: We trust.
Tomorrow: We verify.


Summary & Specs

Feature Description
Tech KZG Polynomials compress 256 siblings into 48 bytes.
Network Reduces bandwidth overhead by ~99%.
UX "Weak" statelessness prevents transaction failures.
Target The "Hegota" Upgrade (H2 2026).

Related EIPs:

Top Resources

  1. Vitalik Buterin: "Verkle Trees"
  2. Dankrad Feist: "Verkle Trie for Eth1 State"

Top comments (0)