Hegota upgrade · gas repricing

Scaling Ethereum to 450M gas, anchored to the ETH transfer

The 21,000-gas ETH transfer can't get more expensive without breaking hardware wallets, so it becomes the fixed reference point for how far blocks can safely scale across execution and bandwidth. This is a guide to the EIPs that turn that idea into a concrete path to 450M.

450M
Target gas limit
symmetric optimum ≈ 422M
D = 6s
PTC deadline
~25% exec / ~11% prop buffer
21,000
The anchor
ETH-transfer gas, by design fixed
~4.44 MB
Payload at the limit
569ms + 0.443ms/KB to propagate
The analysis

One immovable point, two competing constraints

The anchor analysis treats the ETH transfer as irreducible by design and asks: given that fixed point, how large can a block get before either execution time or network propagation becomes the bottleneck?

⚙️

Execution constraint

A worst-case execution ceiling of ~100 Mgas/s, frozen in place by the transfer cap. Push past it and validators can't keep up with the slot.

📡

Bandwidth constraint

Block propagation modelled as t = 569 + 0.443·KB ms. Bigger blocks take longer to reach the network, the binding limit for large payloads.

🎯

The feasible optimum

Where the two windows meet, with 25% safety buffers, lands at 450M gas at a PTC deadline of D = 6s: a ~25% execution buffer and an ~11% propagation buffer.

The catch: mixed blocks

A plain transfer block is the densest-but-smallest case, about 0.01052 bytes/gas. The danger is mixed blocks that combine cheap calldata (16 gas/byte) with cold SLOADs: these reach 2.25× the transfer line's byte density and would force the limit back down. Closing that gap, cleanly and without repricing the transfer itself, is what the repricing EIPs below are for.

The minimal path

Three EIPs to reach 450M

The smallest set of changes that safely unlocks the higher limit. Each one closes a specific hole between the gas a block charges and the resources it actually consumes.

Take any one away and the bandwidth or state-growth constraint reasserts itself. Together, they're the minimal viable bundle.

No EIP yet

One more knob: recalibrate EIP-8037's CPSB parameter

Raising the limit also means revisiting the CPSB (cost per state byte) parameter from EIP-8037, which meters state growth. There's no EIP for this yet; we first want to see how users respond to the current value in Glamsterdam before committing to a new one.

To hold the same 120 GiB/year state-growth target as the block does 3× more work, a simple linear scaling from the 150M reference limit suggests:

1,530gas/byte today ~4,590gas/byte at 450M
A deliberate omission

Why not reprice compute?

A natural question: shouldn't we also reprice the compute operations that are overpriced? The analysis says it's low leverage. There are roughly 62 mispriced operations and getting them all right is risky and requires a lot of testing and benchmarking work.

The payoff is small: throughput loss falls from about 12.4% to 2.6%, which works out to only around a 10% gain in average throughput. A lot of surface area to change, for a modest average improvement.

See the analysis ↗

Interactive breakdown of per-opcode mispricing on misilva73.github.io/hegota-compute-repricing.

The comprehensive alternative

EIP-7999: more complexity, far more upside

The minimal set is the smallest safe path to 450M. EIP-7999 can scale further: by giving execution and bandwidth independent limits, it lets execution climb toward its own ceiling instead of being capped by the bandwidth-bound single limit, and makes resource control self-tuning, at the cost of a deeper, riskier change.

EIP-7999 Draft

Unified Multidimensional Fee Market

One fee market for everything: users pay a single max_fee in ETH while the protocol meters execution, data, state, and blobs as separate resources with their own base fees.

  • One max_fee, four resources
  • Adds data & state-growth gas
  • DATABASEFEE / STATEBASEFEE opcodes
  • Exact long-run state control
Read details →

The real trade is scope for leverage: 7999 subsumes the data-pricing work of 8131/8279 as its “data resource” and adds a self-tuning state resource, so future scaling needs no floor or CPSB re-tuning, at the cost of a deeper, riskier change to the fee market itself.

Minimal set vs. EIP-7999

Minimal setEIP-7999
What it buys you
Execution vs. bandwidthOne coupled limit✅ Independent limits
Long-run state growthManually tuned, prone to errors✅ Target-based, exact average
User-facing feesMultiple markets✅ One max_fee in ETH
What it costs
Scope of changeA few gas constants⚠️ The whole fee market
Fee estimationPer-market, familiar⚠️ Predict usage across resources
Risk / maturityLower, small changes⚠️ Higher, one bundle

Tuning the budget split to scale execution further

With independent limits, the PTC deadline becomes a dial. The attestation deadline is fixed at 3s, so an earlier PTC deadline D shrinks the propagation window (less data) and lengthens the execution window (more execution). At the same 25% safety buffer the anchor analysis uses:

PTC deadline D Exec window Prop window Max execution Max data
4.0s8.0s1.0s600M gas0.41 MB · 7M data-gas
4.5s7.5s1.5s562M gas1.26 MB · 20M data-gas
5.0s7.0s2.0s525M gas2.10 MB · 34M data-gas
5.5s6.5s2.5s488M gas2.95 MB · 47M data-gas
6.0s6.0s3.0s450M gas3.79 MB · 61M data-gas

Execution limit is 0.75 · 100 Mgas/s · (12 − D); data is the bytes that fit t = 569 + 0.443·KB ms within 0.75·(D − 3), priced at 16 gas/byte. The coupled single limit caps at ~361M at D = 6s under a true 25% propagation buffer — 450M only came from thinning that buffer to ~11%. Independent limits let execution take the whole window: 450M at D = 6s, up to 600M at D = 4s, while data stays bounded on its own.