Introduction
On May 13, 2024, Vitalik Buterin introduced EIP-7706, a proposal refining Ethereum’s gas model by decoupling calldata gas calculations and introducing a base fee mechanism akin to EIP-4844’s blob gas. This aims to further reduce Layer 2 (L2) operational costs. To contextualize this update, we’ll explore Ethereum’s gas mechanisms, including EIP-1559 and EIP-4844, and analyze how EIP-7706 enhances scalability and cost efficiency.
Existing Ethereum Gas Models: EIP-1559 and EIP-4844
The Pre-EIP-1559 Auction Model
Ethereum initially relied on a first-price auction for gas pricing, where users manually set gas_price. While simple, this model suffered from:
- High fee volatility: Gas prices could spike 10x during congestion, misaligning with consensus costs.
- Inefficient pricing: Users often overpaid due to opaque price discovery.
- Delayed transactions: Fixed block gas limits caused unnecessary wait times.
- Post-merge instability: A pure fee model risked incentivizing selfish mining.
EIP-1559: Fee Market Reform
Implemented in August 2021, EIP-1559 replaced auctions with a dual-fee system:
- Base Fee: Algorithmically adjusted per block based on parent block’s gas usage versus a gas target. Excess usage increases the fee; under-usage decreases it. Base fees are burned, promoting ETH deflation.
- Priority Fee (Tip): Optional rewards to miners for transaction prioritization.
Code Logic:
if parent_gas_used > parent_gas_target:
base_fee = parent_base_fee * max(1, (parent_gas_used - parent_gas_target) // parent_gas_target + 1)
else:
base_fee = parent_base_fee * max(0.875, 1 - (parent_gas_target - parent_gas_used) // parent_gas_target) EIP-4844: Blob Transactions for L2 Scalability
Rollups faced high costs using calldata for data availability (DA), congesting mainnet blocks (~1.79 MB/block limit). EIP-4844 (Dencun upgrade, 2024) introduced:
- Blob Transactions: Carry blob data (inaccessible to EVM, only hashed via
VersionedHash). Independent Pricing: Blob gas uses an exponential fee model:
base_fee_per_blob_gas = MIN_BASE_FEE_PER_BLOB_GAS * e^(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)- Adjusts based on
TARGET_BLOB_GAS_PER_BLOCK(initially 3 blobs/block avg; max 6).
- Adjusts based on
- Benefits: Cheaper DA for Rollups (~100x cost reduction), reduced mainnet congestion.
EIP-7706: Calldata Gas Model Decoupling
Core Innovations
Proposed on May 13, 2024, EIP-7706 isolates calldata gas calculations, mirroring EIP-4844’s approach:
- Calldata Base Fee: Uses the same exponential formula as blob gas, adjusting dynamically per block.
Gas Target Ratios:
LIMIT_TARGET_RATIOS = [2, 2, 4]defines targets for:- Execution gas (
gas_limits[0] = 30M). - Blob gas (
gas_limits[1] = MAX_BLOB_GAS_PER_BLOCK). - Calldata gas (
gas_limits[2] = gas_limits[0] // 4 = 7.5M).
- Execution gas (
Practical Impact
- Calldata Capacity: With ~10 gas/byte (mix of zero/non-zero bytes), the target supports ~187.5 KB/block—twice current averages.
- L2 Benefits: Combined with blob data, this reduces sequencer costs, avoiding calldata abuse while ensuring stable pricing.
FAQs
1. How does EIP-7706 lower L2 costs?
By decoupling calldata fees and setting higher gas targets, Rollups can submit data more cheaply without competing with mainnet transactions.
2. Why use exponential fee models for blob/calldata?
Exponential functions respond sharply to demand spikes, discouraging congestion while maintaining stability during low activity.
3. What’s the difference between blob data and calldata?
- Blob data: Cheaper, ephemeral storage for DA (e.g., Rollup batches).
- Calldata: Executable by EVM, costlier but versatile.
👉 Explore Ethereum’s latest upgrades for developers.
4. Will base fees for calldata be burned like EIP-1559?
Yes, akin to EIP-1559, calldata base fees are burned to maintain ETH’s deflationary pressure.
Conclusion
EIP-7706 marks Ethereum’s next step in gas model granularity, optimizing for L2 scalability. Coupled with EIP-4844, these upgrades ensure cheaper, predictable fees while preserving decentralization.
👉 Stay updated on Ethereum’s gas mechanics for strategic dApp deployment.