0%
Overview page background
HomeOverviewsEthereum
What Is EIP-1559?

What Is EIP-1559?

Alchemy headshot

Written by Alchemy

Brady Werkheiser headshot

Reviewed by Brady Werkheiser

Published on 2022-05-035 min read

Blockchains aren't perfect. As the number of transactions and users grows over time, new demands of the network need to be addressed. Improvements can include changes to make the network more resilient, more secure, or provide a better user and community experience. 

To improve the Ethereum protocol, users can create proposals called Ethereum Improvement Proposals (EIP). Let's look at what EIPs are and then explore EIP-1599 more in-depth.  

What are the three Ethereum Improvement Proposal tracks?

EIPs are proposals to improve a process or design of a certain aspect of the Ethereum ecosystem. There are three different proposal tracks that an EIP can be labeled: 

  • Standards

  • Meta 

  • Informational 

As we’ll see each of these tracks have different uses. Of the three, the Standards Track is for EIPs that will change a large portion of Ethereum implementations. EIP-1559, which we will discuss later on in more detail, is an example of a Standards track EIP. 

The Standards Track

There are 4 different categories of EIPs within the Standards Track:

Changes to the core 

Core improvements are changes to the core functionality of the Ethereum protocol. These changes require a consensus fork to be implemented. An example of this would be EIP-2929, which increased the gas cost of a list of opcodes

Changes to interactions on the network

Networking improvements are any changes to interactions on the network, like transaction validation and consensus. EIP-2124 is an example of a networking EIP. This proposal improved the way that nodes identify each other by creating a 'fork identifier' that reduces the time for a node to find other nodes operating on the same fork.

Changes to the interface 

Interface EIPs cover any improvements to specifications when working with clients. An important EIP that fits into this category is EIP-2700. This EIP created a Javascript event emitter object that notifies Javascript applications of any state changes that occur on-chain. 

ERCs propose application-level standards 

Ethereum Request for Comments (ERC) EIPs are proposals for improving application-level standards and conventions. EIP-3156, an ERC EIP, was put in place to create a standard to conduct single-asset flash loans on Ethereum. Before the EIP was implemented, there were several different standards to conduct flash loans. The goal of this EIP is to provide simplicity to users and reduce technical debt by creating a single standard. 

The Meta and Informational Tracks

There are two other tracks for EIPs, Meta, and Informational

Meta changes a process

These are EIPs that document a change to a certain process. They are different from EIPs on the Standards Track as they do not require any changes to the Ethereum codebase. 

Informational changes guidelines 

Informational EIPs do not propose any new features to Ethereum. They are for providing guidelines and information to the Ethereum community. An example of this is EIP-2228, which formalized the naming of the Ethereum 'Mainnet' as a proper noun. This was to prevent any confusion, as writers were describing it in other ways, such as "main net" or "mainnet".

How does the proposal process work?

Any community member can propose an EIP. This is done by submitting the proposal to the EIP Github repository. There is a standard design and process described in the repository on how to submit. 

After an EIP is submitted, it follows this process: 

1) Draft  - This is an open EIP where edits and changes can still be made. Community members can provide feedback to the author and discuss the changes the EIP is seeking to implement. 

2) Last  Call - This is when the EIP is ready to be reviewed by the committee. Reviews are done by a team of editors that include members of the Ethereum foundation and community. 

3) Final - For non-Core proposals, technical changes are implemented. For Core proposals, the Ethereum Core Devs send their approval and plan on implementing the changes in a future hard fork.

4) Deferred - Deferred proposals have been reviewed and it has been decided to be pushed for future reconsideration. 

Now that we have some background on EIPs, let's look at EIP-1559 in more detail.

What is the EIP-1559 proposal?

EIP-1559 is a proposal that made changes to how gas fees are structured and how miners are rewarded. This proposal was implemented on August 5, 2021, as a part of the London Hard Fork of Ethereum. 

EIP-1559 Fee market change proposal
EIP-1559 Fee market change proposal

Problem

One of the major challenges of Ethereum is to provide a scalable network where the cost of transacting is not too high that users are blocked due to the lack of affordability. Due to the increasing popularity of Ethereum, the network became highly congested with the increase in traffic. 

This congestion creates a "bidding war" for users to get miners to commit their transactions to a block in a first-price auction model. The highest bidders have their transactions picked up by miners as they offer the biggest rewards while other transactions are left pending in the mempool. 

Solution

The goal of EIP-1559 is to improve traffic flow on the network by setting a base fee for transactions and increasing the block size that holds these transactions. Increasing the block size allows for more transactions to be added which results in less financial competition amongst users.

Changes to base fee

With a base fee for transactions in place, the bidding first approach that existed pre-London Fork was removed. The base fee is the amount for any transaction to be added to the next block by a miner. 

This base fee will change by 12.5% over time based on the capacity of the block. If a block is more than 50% full, it will be increased by 12.5% and if a block is empty, it will be decreased by 12.5%. At 50% capacity, no changes will be made. 

There is still an option for transactions to be prioritized now that Ethereum has implemented EIP-1559. This is done by a user adding a priority fee to their transactions, which works as a tip to the miner. Users indicate how high they are willing to pay by setting a max_priority_fee_per_gas on their transactions. 

To remove the incentive for miners to include spam transactions in a block, which then increases the base fee, EIP also implements a burning mechanism. Burning ETH involves sending that ETH to a wallet that no one can access and removing it from the usable supply of ETH. 

The base fee of the transaction, which is based on the current capacity of the block,  is burned by the network and only the priority fee is awarded to the miner. Before EIP-1559, the miner would get the entire transaction fee. 

Results

Although it was not the direct goal, users are saving on gas prices after EIP-1559’s implementation, because it’s easier for them to estimate their gas fees. Transactions are also experiencing a decrease in time to confirmation compared to the time before EIP-1559.  The amount of ETH being burned on the daily transactions is being monitored. By looking at this data, the community can understand the effects of EIP-1559 on miner rewards, base fees and total transactions per block. 

Savings on gas prices after EIP-1559’s implementation
Savings on gas prices after EIP-1559’s implementation

Conclusion

EIPs play an important role in the growth of Ethereum as a protocol and as a Web3 leader. Allowing the community to propose and influence the direction of Ethereum leads to a diversity of improvements at different scales. EIP-1559 is a great example of this in action and shows what is possible for Ethereum in the future. 

Discover how to send and retry EIP-1559 transactions and how you can build a Gas Fee Estimator in our EIP-1559 Resource and Tutorial Hub.

Overview cards background graphic
Section background image

Build blockchain magic

Alchemy combines the most powerful web3 developer products and tools with resources, community and legendary support.

Get your API key