Loading market data...

Ethereum State Growth Spikes After Gas Limit Hike, Devs Push Expiry Plans

Ethereum State Growth Spikes After Gas Limit Hike, Devs Push Expiry Plans

Ethereum's weekly new state has tripled since the network's gas limit roughly doubled to the 60 million range, jumping from about 105 MiB per week to roughly 326 MiB per week. That adds up to around 116 GiB of extra state pressure per year — and it's reviving long-running conversations about state expiry and history pruning.

State growth after the gas limit increase

The gas limit increase was meant to give more room for transactions and L2 settlement, but it came with a cost. State — the living snapshot of balances, nonces, code, and contract storage at the head of the chain — is growing faster than before. Every extra byte the chain promises to remember forever lives on disk, moves across the network, gets hashed into tries and proofs, and every node has to carry it. That raises the minimum hardware bar for participation, and home node operators are the first to feel the squeeze.

New L2 traffic settling on L1, NFTs with sprawling metadata pointers, and DeFi contracts that persist a lot of per-user data are all contributing to the bloat. The result: more disk, more IOPS, heavier tries, longer reorg processing, and slower snapshots. The network is selecting for operators with better budgets and bigger rigs.

What state expiry and history expiry actually do

Developers are working on two separate but related fixes. History expiry removes the obligation for nodes to serve old block bodies and receipts beyond a certain horizon — that's the easier part, because old data can be fetched when needed. State expiry is trickier. It places a time or activity window around state entries considered live. Long-lived account and storage entries would eventually need renewal or a proof to stay active.

A prototype showed about 58% of trie nodes moved cold and an observed ~21.6% total storage reduction, shrinking the hot trie near 60%. That's promising, but the hard part is making sure user experience doesn't break. Balances, allowances, and NFTs need to remain usable without scaring normal users. Expiry needs renewals or proofs so nothing gets locked away.

Cheaper storage isn't free

One of the underlying problems is a broken price signal. If it costs almost nothing to plant an entry that never expires, actors will do it — and they have. The result is state bloat that every node has to carry forever. Developers are pushing builders to use transient storage, logs over storage, batch patterns, and state-light designs even before protocol-level expiry lands. UTXO-style payments on Ethereum could cut permanent state for those flows by about 99.8%.

But those are workarounds. The real fix — state expiry at the protocol level — is still being designed. The question is how to cut the chain's memory without cutting off normal users. That's the line the core devs are trying not to cross.