
Ethereum gas fees are one of the most complained-about aspects of the network — and also one of the most misunderstood. The common explanation ("Ethereum is expensive") misses what's actually happening. Gas fees aren't a pricing policy or a design flaw. They're the output of a specific mechanism that balances network security with throughput, and understanding why fees get high requires understanding how that mechanism actually works.
Gas is the unit Ethereum uses to measure computational work. Every operation on the Ethereum Virtual Machine has a defined gas cost: a simple ETH transfer consumes 21,000 gas, a complex smart contract interaction might consume hundreds of thousands. Users pay ETH proportional to the gas their transaction consumes — the fee is gas used x price per unit.
Before August 2021, the price per unit of gas was set by a simple auction. Users bid, miners picked the highest bidders. It worked, in a mechanical sense, but it created wild unpredictability. A transaction that cost $0.50 at 9am could cost $40 by noon if the network suddenly got busy. Estimating what to bid was more art than science.
EIP-1559 changed the mechanism. There are now two components:
The base fee rising-and-falling mechanic is the core of the system. Ethereum targets blocks that are 50% full. When demand exceeds the available block space, the base fee climbs. It keeps climbing until demand falls or fees become high enough that some users decide to wait. The fee isn't arbitrary — it's a market-clearing price for scarce block space.
This is where the "high fees" problem actually lives. Ethereum's block capacity is intentionally capped at 30 million gas per block, targeting 15 million. The cap exists to protect decentralization — specifically, to keep the hardware requirements for running a full Ethereum node low enough that individuals and small operators can participate.
Larger blocks would mean cheaper fees. They'd also mean heavier nodes. Over time, only well-resourced operators would be able to keep up, which would gradually concentrate validation among institutional players. The block size limit is a deliberate choice about what kind of network Ethereum is trying to be, not a technical limitation on what the hardware could theoretically process.
So when demand spikes — popular NFT mints, DeFi liquidation events, airdrop claiming windows — users are competing for a fixed and deliberately small amount of space. The base fee algorithm handles this by making inclusion expensive enough that some demand clears. Fees can spike by 10x within a single block if the right conditions hit.
Worth noting: Ethereum fees aren't always high. The base fee falls quickly when demand drops. During low-activity windows, fees can be a few gwei — cheap enough to be essentially negligible. The problem is the peaks.
The most significant structural shift deployed in recent years is EIP-4844 (Proto-Danksharding), which went live in March 2024.
Before 4844, Layer 2 networks like Arbitrum, Optimism, and Base reduced user costs by batching hundreds of transactions together and posting compressed data to Ethereum as calldata. It worked — but calldata competed for the same block space as regular transactions. L2 gas savings were real but had limits.
EIP-4844 introduced a new data type called blobs — temporary data attachments to blocks, stored for approximately 18 days before being pruned rather than kept permanently. Blobs have their own separate fee market (the blob base fee), which doesn't compete with the regular transaction fee market. The immediate effect: L2 transaction costs for users fell 80-90% in the days following deployment.
This doesn't fix Ethereum L1 fees. It reduces the cost of L2s posting data to L1. For users on L2s, the cost structure changed materially. For users transacting directly on L1, fees are still set by the same mechanism.
The L2 scaling thesis is strengthened if blob capacity expands via subsequent EIPs without reintroducing calldata-level competition, and if user adoption of L2s continues growing as the cost differential holds.
The thesis breaks in a couple of ways. If L2s themselves get congested — their own block limits get hit as usage grows — then the scaling argument fails at that layer instead. It hasn't happened at scale, but it's the logical ceiling. A second failure mode: if enough L2s simultaneously flood the blob market, blob fees could spike toward calldata prices, closing the gap.
Now: Ethereum L1 fees are real. Cheaper than 2021-2022 peaks, but still material for high-frequency or complex smart contract interactions. For most user-facing applications, L2s are the practical default — not a workaround, just where transactions actually belong.
Next: PeerDAS and expanded blob count are in development, likely 2025-2026. They'd increase blob capacity further and reduce L2 costs another step. Worth tracking if you're building on L2 infrastructure.
Later: Full Danksharding would restructure throughput at a more fundamental level, but it depends on research milestones that aren't finalized. Two-plus years away is a reasonable estimate, with genuine uncertainty.
This covers the mechanism that determines gas fees on Ethereum. It doesn't address which L2 to use for any specific application, fee optimization strategies, or predictions about future L1 fee levels. The mechanism is well-understood; the inputs — demand, blob capacity, L2 adoption rates — are not stable, and the right answer for any given use case depends on factors outside this scope.
Ethereum fees are high when block space is scarce. The system is working as designed. Whether that design is right is a separate question.




