Ethereum gas fees have long been the bottleneck for mainstream adoption. While rollups moved execution off-chain, they still posted full transaction data to L1 — an expensive proposition. The breakthrough isn't faster proving or better compression. It's changing what gets posted entirely.
From Calldata to State Diffs
Traditional ZK-rollups like zkSync Era and Scroll publish every transaction's calldata to Ethereum. This ensures data availability but costs 16 gas per non-zero byte. A simple ERC-20 transfer burns ~120k gas on L1 just for data posting. State diffs flip this model: instead of how state changed, they publish what changed.
The prover still executes every transaction and generates a validity proof. But the data posted to Ethereum shrinks from kilobytes to bytes. Polygon zkEVM's latest fork reduced average batch posting costs from 2.1M gas to 180k — a 91% reduction. Linea's 'state-diff mode' cuts calldata by 87%. Scroll's upcoming 'diff-only' batches target 95% savings.
Why This Works Now
State diffs require two prerequisites that only matured in 2025: recursive proof aggregation and sparse Merkle tree standardization. Recursive proofs let rollups compress thousands of state transitions into a single 256-bit verification. Sparse Merkle trees (adopted by RISC Zero, SP1, and OpenVM) enable O(log n) state diff proofs regardless of state size.
"We're not optimizing compression anymore. We're eliminating the need for it. The data availability layer only needs to know the delta, not the journey.
— Brendan Farmer, Polygon zkEVM co-founder
The Trade-offs
| Metric | Calldata Model | State Diff Model |
|---|---|---|
| L1 Gas/Batch | 1.8-2.5M | 150-300k |
| Prover Overhead | Baseline | +15-20% |
| Data Availability | Full history | Delta only |
| Reorg Safety | Native | Requires checkpointing |
| Tooling Maturity | Production | Beta (Q3 2026) |
Migration Checklist
Rolling out state diffs isn't a config toggle. It touches provers, sequencers, indexers, and wallets. Here's the minimum viable path:
What's Next
EIP-4844 blobspace made calldata cheaper, but state diffs make it irrelevant. The next frontier: cross-rollup state diffs. If zkSync, Scroll, and Linea adopt a common sparse Merkle format, a single validity proof could settle state changes across all three — unlocking atomic cross-rollup composability without bridges. The ZK-Rollup Standards Working Group (ZK-RSWG) published the first draft in March 2026. Testnet interop demos are slated for Devcon 2026.
✦








