What Is EIP-1559? (How It Affects Miners and Users)
Introduction: What is an EIP in Ethereum?
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:
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
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.
How does the proposal process work?
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.
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.
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.
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.
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.