What breaks when
Ethereum state hits 10×?
Mainnet is 381M accounts, 1.56B storage slots, 221 GB of trie. We pick up an existing ~3.5× Bloatnet and a Go controller drives it all the way to 10× (2.22 TB) — benchmarking proof sizes, trie structure, and snap sync (Nethermind and Geth so far; the full five-client battery and block execution next) to turn the gas-limit debate into a data problem.
As the state grows, every account touch traverses a deeper trie and emits a fatter witness. We benchmark the entire pipeline — execution, proof size, snap-sync — at each milestone so the protocol roadmap is grounded in evidence, not extrapolation.
Two protocol-level decisions ride on these numbers.
The 2026 forks ask validators to absorb more state and more witnesses than ever. Every gas-limit bump and every step toward statelessness needs a load-bearing answer to: what is the actual cost?
Glamsterdam · gas limit toward 100M+
Hegotá · the statelessness baseline
eth_getProof
across the full multiplier ladder, we produce the MPT witness curve that any
post-Verkle comparison has to beat.
Three deliverables, written in the language of the protocol.
① Bloated states, reproducibly
payloads.rlp stream + manifest,
so any client can replay the exact state and verify the final root.
② Cross-client measurement
③ Open report
The curve we climbed.
All five milestones are measured exactly — mainnet (1×, our reference), the inherited 3.5× Bloatnet state, and the 5× / 7× / 10× states we grew it to (2.22 TB at 10×). The headline target is reached. No projected numbers.