EIP-1559: ETH Fee Market Change Proposal

What is EIP-1559?

"If implemented, Ethereum improvement proposal (EIP) 1559 will be the largest change to how users bid for blockspace in any of the major blockchains."

TLDR:   Basically; EIP-1559 will help make transaction fees more predictable on the network, and ensure ETH’s economic value is enshrined at the protocol level.

EIP-1559 is one of the most highly anticipated upgrades for the Ethereum network and has been debated & argued about for a few months. Essentially, the proposal to change the Ethereum fee market is based around these 2 key changes:

  • The current gas limit of 10 million is replaced by two values: a “long-term average target” (10 million), and a “hard per-block cap” (20 million)
  • There is a BASEFEE (which is burned) which transactions are required to pay, which gets adjusted on a block-by-block basis with the goal of targeting a value so that average block gas usage remains around 10 million.

Currently, miners select transactions ranked by the highest fees which results in many users grossly overpaying. The new proposed solution is to start with a BASEFEE amount which is adjusted up and down by the protocol, based on how congested the network is.

To accommodate this system, the network capacity would be increased to 16 million gas, so that 50% utilisation matches up with our current 8 million gas limit. Then, when the network is at >50% capacity, the BASEFEE increments up slightly, and when capacity is at <50%, it decreases slightly. Because these increments are constrained, the maximum difference in BASEFEE from block to block is predictable.

This then allows wallets to auto-set the gas fees for users in a highly reliable fashion. It is expected that most users will not have to manually adjust gas fees, even in periods of high network activity. For most users, the BASEFEE will be automatically set by their wallet, along with the addition of a small fixed amount, called a ‘tip’, to compensate miners (e.g. 0.5 gwei).

So, why the change?

The biggest source of frustration with the current fee system, stems primarily from Ethereum’s attempt to price fees using a simple auction mechanism. Known as a first price auction, this system works by having everyone submit their bid (gas price) for how much they’re willing to pay to have their transaction picked up by a miner.

This fee mechanism frequently leads to fee over-payment to miners and it’s very difficult for users and wallets to estimate what fees should be paid per transaction.

Another big UX problem is the needless delays for users: because of the hard per-block gas limit coupled with natural volatility in transaction volume, transactions often wait for several blocks before getting included, but this is socially unproductive; no one significantly gains from the fact that there is no slack mechanism that allows one block to be bigger and the next block to be smaller to meet block-by-block differences in demand.

If the changes proposed take place, Ethereum would look like the following:

  • Users get better fee estimations and UX,
  • Miners/validators still get paid via the ‘tip’ and protocol issuance,
  • Apps that use Ethereum pay their dues in burnt ETH,
  • ETHs fundamental value increases > protocol security increases > apps inherit that security.

Official Implementation Discussions

To date there have been 3 Implementers' Calls, in which the EIP-1559 proposal has been the focus. Each of these calls were live-streamed, however, the only call video recording available is for the 3rd call.

Implementers' Call #1

The first Implementers' Call took place on Tuesday, 30th April. The call's agenda included:

The call details / official agenda can be found here, on Github.. The official transcript of the call can be found here.

Implementers' Call #2

The second call took place on Thursday, 28th May. The second call's agenda included:

  • Status updates from implementers
  • Removing block size and transaction size riders from EIP 1559
  • 1559 vs. Escalator Fees mock ups
  • Consortium network impacts (see this)

The call details / official agenda can be found here, on Github. The official transcript of the call can be found here.

Implementers' Call #3

The latest call regarding the implementation of EIP-1559 was held on Wednesday, 24th June and was the 3rd such Implementers' Call to take place. The agenda of this call included:

The details & official agenda for the call are here. The official transcript of the call can be found here.

This is the video recording of the 3rd call:

Conclusion

In summary, BASEFEE allows the protocol to enforce a minimum fee without incentivising the formation of an off-chain market. It serves as a foundation for more flexible blockspace utilisation mechanisms, such as; uniform price auctions and elastic block sizes.

The proposed fee market change has been pretty widely debated, but I think it sounds like a good idea. What do you think?

A community fund was setup for this EIP on Gitcoin in the last few weeks, and it has already raised over $50,000 (including matching). These funds will go a long way to making sure this EIP gets the love it deserves so that it can be safely included in the Ethereum protocol. You can donate to the grant here.

I would love to hear your opinions on EIP-1559, and I encourage you send me any comments & opinions you may possess on the subject. You can do so here!

- @rbin