EIP-1559 was supposed to address rising Ethereum gas fees, driven by increasing interest in NFTs and DeFi applications running on the network.
It’s been operational for two weeks at the time of writing, implemented at the same time as several other EIPs in the London hard fork, a major milestone for the Ethereum network. So what has changed, has EIP-1559 achieved its aims, and what do Ethereum users need to know?
We’ll start with what EIP-1559 is.
What is EIP-1559?
EIP stands for Ethereum Improvement Proposal. EIPs are more or less what they sound like: proposals for improving Ethereum’s functionality by changing the code the blockchain runs on. Anyone can submit an EIP, and the protocol for submitting and considering an EIP is laid out in EIP-1. There are requirements including defined structures, consideration and implementation stages, and workflows for EIPs. Well-known changes to Ethereum functionality like the ERC-20 smart contract protocol started life as EIPs.
EIP-1559 is a proposal to change the way Ethereum manages fees, to make the blockchain faster and more efficient and to reduce fees and make them more predictable. As we’ll see, it has some other effects too.
EIP-1559 was created by Ethereum luminaries including Vitalik Buterin, and is intended to modify Ethereum’s fee pricing system.
EIP-1559: Updating Ethereum’s fee market
Ethereum charges users gas fees, a cost to access computational time on the Ethereum Virtual Machine. Gas fees are calculated by auction and go to miners for validating blocks that include the transaction you pay your fee for. With pressure on space in the Ethereum blockchain, and miners selecting the most profitable transactions to include in fixed-size blocks, fees rose sharply:
Currently, Ethereum gas fees are acting as a bottleneck to reduce network access for some participants, principally those whose transactions are small and frequent. This means Ethereum is the network of choice for many DeFi applications, but its fee structure is built to discourage DeFi-like transactions.
EIP-1559 starts out by identifying four major problems with the current structure Ethereum uses to charge gas fees.
1: Mismatched transaction fee volatility
Bids to include transactions on full blocks are highly volatile, and divorced from the real cost to the network. Users are often overpaying, and miners are incentivized to keep it that way.
2: Slower user experience
Limitations on gas per block and volatile transaction volumes combine to keep transactions waiting, often for several blocks, before being processed. There’s no inherent reason for this to happen, and no-one ultimately gains from it since it reduces the value of the whole ecosystem by making it harder to use.
3: First-price auction inefficiency
How it works currently is that transaction senders publish their transaction with a bid that represents the maximum fee they’re willing to pay. This is an envelope they’re willing to operate inside, and it’s often several times higher than the fee they actually expect to pay. Their bid serves to “claim a spot” by making the transaction more attractive to miners. Miners choose the highest-paying transactions from a pool, but the process is inefficient and clumsy. Making it somewhat fair required the introduction of complex fee estimation algorithms and fee overpayment is a chronic problem.
4: Technical issues around a blockchain with no block reward
If there’s no block issuance reward, blockchains typically reward their validators solely through transaction fees. But this can incentivize the validation of “sister blocks” that steal transaction fees, opening selfish mining attack vectors and more. Thus, it can be a source of instability for which there is no good solution.
There have been problems with volatile prices, and even with miners deliberately pushing up gas fees by including their own transactions in a block.
The current fee system causes more problems than it solves, in the eyes of EIP-1559’s creators.
Splitting fees, doubling blocks — and burning ETH
EIP-1559 solves these and other problems by splitting gas fees in two. A base fee amount will be adjusted to reflect congestion on the network, but within predictable limits. Thus it will be both somewhat predictable, and directly linked to actual costs. A second inclusion fee will be paid to miners. The result should be more predictable fees, but sharply reduced incomes for miners, who will be paid only the inclusion fee and not the base fee.
This brings us to another consequence of EIP-1559: it establishes fees as a deflationary mechanism. Base fees will be burned by sending to an account with inaccessible private keys, meaning transaction fees become a deflationary “hole” in the aggregate supply of ETH. It also disincentivizes gas fee manipulation by miners.
In addition, EIP-1559 will double block size, reducing pressure on block inclusion. Block size will also be dynamic, meaning block size and demand for space in a block can trade off against each other within limits and Ethereum can support more transactions without getting clogged up.
EIP-1559 was the subject of controversy but after much discussion it was included in the London hard fork on August 5 this year.
So what effects has EIP-1559 had on the Ethereum ecosystem, in the nearly two weeks since its introduction?
What has EIP-1559 done to the supply of ETH?
The supply of ETH has been markedly affected by EIP-1559.
Over 33,000 ETH that would have gone to miners from transaction fees have been paid and burned as base fees. This represents about 30% of total issuance. The whole Ethereum network has not become deflationary — though that could yet happen. But there have already been several deflationary blocks.
What has happened to miner revenue since EIP-1559 was implemented?
Miner revenue doesn’t seem to have fallen since EIP-1559 was implemented, despite predictions that it would be strongly affected.
Coindesk’s data shows miner income remaining steady even as base fees cut into the supply of ETH.
It also seems to show Ethereum attracting new miners, and a significant increase in investment:
What has EIP-1559 done for gas fees?
Currently, gas fees are expected to reach equilibrium with network usage. When the network is at over 50% of capacity, base fees rise, and when it is at under 50% capacity they fall. In addition, the central purpose of EIP-1559 is to make gas prices more stable and predictable, not lower.
But what has actually happened to gas fees since EIP-1559 was implemented?
In the few days after EIP-1559 was implemented, gas fees didn’t change much. Gas fees remained level, averaging about 39 gwei per transaction. Thus, complex transactions like providing liquidity to DeFi projects continued to cost users enough to generate complaints.
However, it’s now been over a week since the London hard fork. Have gas fees improved? Not really. Currently, gas prices are as high or slightly higher than they were before London and the implementation of EIP-1559.
Why is this? Vitalik Buterin, posting on Reddit, has some answers.
One reason may be that gas usage, across the Ethereum network, has risen sharply since London:
This is a 9% increase across the whole network, in a fairly short period. That additional pressure on gas is pushing prices up, negating any effect from the fairer, ETH-burning new gas fee calculation system.
Buterin also credits “ice age delay”, an effect of increasing difficulty in finding hashes by mining that will eventually, in theory, lead to no blocks being produced and the Ethereum network “freezing”.
The London fork increased block speed slightly, delaying the tendency of block rate production to fall and block times to rise:
“This”, Buterin explains, “is a ~3% difference in block speed, which explains 3% out of the 9% increase in on-chain gas usage”.
There’s also the question of block contents. Historically most blocks had some empty space because there was theoretically room inside the block, but not enough to accommodate a single transaction. And around 2% of blocks were actually empty, benefitting miners at the expense of the ecosystem. Consequently, not all potential gas per block was actually used. One of the effects of London has been to make block size elastic, meaning there are no longer “gaps” too small to fit a transaction into.
Consequently, blocks now typically use slightly more gas per block — around 3% more, on average, explaining another third of the post-London gas use rise.
Finally, there’s some fine-tuning to be done to dial 1559 in. The mathematics that underlie 1559’s fee calculations are complex in action, and further complicated by the fact that block fullness necessarily varies between blocks. Buterin explains this in some detail, but the upshot is that per-block usage is on average about 1.5 percentage points higher than would be required to keep base fees level. One potential fix would be to adjust the base fee calculation, though the move to Eth2 is currently running on a testnet and will be deployed to the mainnet sometime around the end of this year, meaning there’s little time to “fix” 1559 before Ethereum’s mode of operation fundamentally changes.