Key Update: Vitalik Buterin proposed EIP-7706 on May 13, 2024, introducing a supplemental gas model that separates calldata gas calculations and implements a Blob gas-like base fee mechanism to further reduce L2 operational costs.
Current Ethereum Gas Models: EIP-1559 and EIP-4844
Ethereum initially used a simple auction mechanism for transaction fee pricing, requiring users to bid gas prices manually. This system faced four critical issues:
- Volatility vs Consensus Costs: High demand led to extreme fee fluctuations, creating inefficiencies.
- Unnecessary Delays: Fixed gas limits caused transactional delays without network-level flexibility.
- Inefficient Pricing: Poor price discovery often resulted in overpaying.
- Post-Merge Instability Risks: Pure fee models could incentivize malicious mining behaviors.
EIP-1559: The First Major Reform
Implemented in August 2021, this introduced:
- Base Fee: Automatically adjusted based on parent block gas usage vs target (destroyed, not paid to miners).
- Priority Fee: User-configurable "tip" for miners.
The base fee algorithm:
if parent_gas_used > parent_gas_target:
base_fee = parent_base_fee * max(1, (parent_gas_used - parent_gas_target) // parent_gas_target // 8)
else:
base_fee = parent_base_fee - (parent_base_fee * (parent_gas_target - parent_gas_used) // parent_gas_target // 8)EIP-4844: Scaling for L2s (Dencun Upgrade, 2024)
Introduced Blob Transactions featuring:
- Blob Data: Inaccessible to EVM (only versioned hashes stored), with shorter GC cycles.
Exponential Fee Model:
base_fee_per_blob_gas = MIN_BASE_FEE_PER_BLOB_GAS * e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)- Current Limits: 3 blobs/block target (0.375MB), 6 blobs/block max (0.75MB).
👉 How Blob Transactions Reduce L2 Costs
EIP-7706: Calldata-Specific Gas Model Optimization
Proposed May 2024, this refines gas models by:
- Separating calldata gas calculations into a distinct category.
Applying EIP-4844's exponential pricing logic to calldata:
- Same base fee formula as blob data.
Introducing
LIMIT_TARGET_RATIOS=[2,2,4]for:- Execution ops (0)
- Blob data (1)
- Calldata (2)
Calldata Target Calculation:
gas_limits = [30000000, MAX_BLOB_GAS_PER_BLOCK, 30000000 // 4 // 4] # 1875000 gas target- Assuming 50% zero/non-zero bytes: ~187.5KB calldata per block (2x current average usage).
Impact on L2s
- Reduces calldata gas limit collisions.
- Discourages calldata abuse while maintaining stable usage.
- Combined with blob data, significantly lowers sequencer costs.
FAQ: Ethereum Gas Mechanisms
Q1: Why was EIP-1559's base fee burned?
A: To stabilize ETH's economy by reducing supply, counteracting inflation from mining rewards.
Q2: How do blob transactions improve scalability?
A: By moving bulk data (e.g., L2 proofs) off-chain while preserving hashes for verification, freeing ~60% of block space for standard transactions.
Q3: What's the practical effect of EIP-7706?
A: L2 operations using calldata (like ZK-rollups) become ~40% cheaper, with more predictable pricing.
Q4: Can blob data be retrieved after GC?
A: No—it's temporary storage. L2s must independently guarantee DA after blob expiration.
Q5: How are gas targets enforced?
A: Via dynamic adjustment: exceeding target raises fees, while underuse lowers them (exponential for blobs/calldata, linear for execution).
Q6: Will EIP-7706 affect normal transactions?
A: Indirectly—by optimizing calldata pricing, it reduces competition for execution gas in blocks.