Why This Matters Growing gas limits drive faster state growth, making the database layer a critical bottleneck. At 60M gas: ~124 GiB/year state growth; at 100M gas: ~197 GiB/year. Consequences include longer sync times, degraded access latency, and higher hardware requirements for node operators. Current Client DBs Client DB Engine Approach Roadmap Geth
1/30/2026by jsvisaSeptember 2 2025 You can find the full report here: https://hackmd.io/@jsvisa/geth-pebble-grant-report Running a full Ethereum node has always appealed to me because it embodies the spirit of decentralization — you verify everything yourself and help secure the network. Go-Ethereum (Geth) is the most widely used execution client, so its performance determines how viable it is for everyday node runners, researchers, and infrastructure providers. This is my story as an external contributor funded by an Ethereum Foundation grant to work on PebbleDB performance, state size analysis, and code improvements. It was a rare chance to peek under the hood of Geth, experiment at massive scale, and push forward the limits of what the client can do. Why Benchmark and Analyse Geth? The grant’s aim was simple: measure where Geth struggles with very large databases and fix it. Over time the Ethereum state has ballooned as more contracts, tokens and users join the network. By the start of 2025 the database was hundreds of gigabytes and projected to keep growing at ~48 GiB per year. Rather than rely on gut feelings, I wanted concrete data, so the project was split into four phases:
9/3/2025Invitees: ELs (incl. ethrex) CLs Etherscan Infura Alchemy Ankr Tenderly Quicknode
8/28/2025Goal: Serve eth_call / tracing at the tip (and most recent 128 blocks), without running more full nodes and easy spin-up of new instances (i.e. Workflow A). Model: Captain → Followers Captain: one live writer. Followers: read-only replicas serving RPC, fed by captain snapshots + state diffs. Architecture (high-level) Base snapshot of state at block S (exported every 3–4 hours). State diffs from S → H applied by followers to "sync".
7/30/2025