Interpretation of Ethereum Proposal EIP1559: Reduce the total transaction fee and transaction fee volatility

Author: Edison Zhao, Cdot Network Researcher

EIP1559 is a proposal to improve the Ethereum transaction fee mechanism, which was co-founded by Ethereum co-founder Vitalik Buterin and ethhub_io founder Eric Conner. In August 2018, Vitalik published a paper, "Blockchain Resource Pricing", which explained the problems of the existing transaction fee mechanism from an economic perspective, and proposed a prototype of the solution.

Since then, Vitalik has further refined the plan in the Zcash community. At the Ethereum Core Devs Eth1x / Istanbul Planning Meeting held in 2019, Vitalik introduced the research background, goals, and mechanism of EIP1559. The adjustment of its transaction fee mechanism will affect the main stakeholder groups of Ethereum (users, developers, miners) , Wallet, etc.).

The research background of the EIP1559 proposal involves more complicated economics. After studying the relevant materials, we hope to briefly describe its principles and influences in non-academic language to help ordinary readers understand EIP1559.

In order to avoid the concentration of full nodes, the blockchain that pursues decentralization of the architecture will strictly limit the block capacity. For example, Bitcoin's Block Size Limit and Ethereum's Gas Limit. When transaction demand exceeds the block capacity, a mechanism is needed to allocate scarce resources fairly. A common method is to allow users to bid in the form of transaction fees-miners will preferentially include transactions with high transaction fees into the block. However, in the limited and auction models, users know nothing about other people's bids and can only rely on historical transaction fees to make guesses. When network congestion occurs and transaction fees rise, some users can only give more in order to issue transactions in a timely manner. High prices, which quickly pushed up transaction rates until a critical point, and the rates turned back down. The sharp fluctuations in transaction fees can cause two problems:

  1. Users will pay excessive transaction fees, and the data shows that the additional transaction fees caused by the auction will be 5 times the usual
  2. Many transactions still fail to close within the timeframe expected by users

EIP1559 optimizes the transaction fee mechanism around the above issues. First of all, it is necessary to double the current block Gas Limit and make the block utilization rate fluctuate around 50% through the adjustment of the base fee. This means that when transaction demand surges, fluctuations in block utilization can (partly) absorb fluctuations in transaction fees. The basic fee plays the role of transaction tax in the new mechanism, and each transaction must be paid. The transaction tax is not rewarded to the miners, but is burned, and the beneficiaries are all ETH holders.

The base fee is calculated based on the base fee and utilization of the previous block. When the utilization rate is higher than 50%, the basic fee increases; when the utilization rate is lower than 50%, the basic fee decreases. The base fee for each block does not change by more than 1/8. It can be seen that the basic fee can be accurately predicted by the wallet software, and its fluctuation is relatively smooth. In addition to paying the basic fee, users also need to pay a tip. The effect of the tip is to compensate the miner's increased block risk due to the transaction being included in the block. Tipping is expected to form a fixed value, such as 1GWei.

Users' timeliness requirements for transactions can be divided into three categories:

  1. The first type is to hope that the transaction will be included as soon as possible, but it is not particularly urgent.
  2. The second is to require transactions to be included immediately and to be willing to pay high prices for them.
  3. The third type is no aging requirement, as long as the transaction is ultimately successful.

Under the new fee mechanism, the first type of transaction only needs to pay according to the estimated basic fee and regular tip, which usually can achieve the purpose. Users of the second type of demand can set high tips to ensure that transactions are included immediately. The third type of user can set the transaction fee ceiling that they are willing to accept, and wait patiently for the network to be idle and the basic fee to fall behind and the transaction to succeed. It can be seen that all three types of needs can be satisfactorily met. Most users (the first type) do not need to understand the transaction fee mechanism in depth, they only need to pay according to the wallet's estimate to get the optimal rate and expected results, which will undoubtedly improve the user experience of Ethereum.

The mechanism design of EIP1559 cleverly combines the advantages of the second price auction model. The prices paid for all transactions in the same block are basically the same, which is more fair to users. Under the new mechanism, users can set two parameters: transaction fee cap (fee_cap) and tips (tips). When the basic fee is lower than the maximum transaction fee set by the user, the transaction fee is included, and the user pays the basic fee plus a tip. When the base fee is higher than the transaction fee limit, the transaction waits in the mempool. It can be expected that the implementation of EIP1599 will significantly reduce the total transaction fee of Ethereum and the volatility of transaction fees.