900383.png

We briefly introduced the five changes in Ethereum upgrades (Ethereum’s London Upgrade: imToken Support and Need to Knows ). In this article, we will focus on the one of change, also the most anticipated change, EIP-1559.

About EIP-1559 

EIP-1559 will change Ethereum's fee market, because it introduces a “base fee” for adding transactions to the network. The base fee will change the gas fee automatically based on market demand, which helps wallets and users to estimate transaction fees more easily. 

EIP-1559 also adds a new transaction type where users can specify the maximum fee they are willing to pay and the max priority fee they are willing to pay for miners. The difference between the maximum fee, base fee and miner tip will be returned to users. 

EIP-1558 will burn the base fee for slowing down the inflation of ETH partly, so part of the community take it as a good way to improve the Ethereum network’s economics. 

How imToken supports EIP-1559

After the Ethereum’s London hard fork, we already support gas fee estimation based on the rules of EIP-1559 in imToken.

The new transaction type about “maxPriorityFee” and “maxFee” in EIP-1559 is expected to be released soon, with imToken 2.9.6.

We are not able to predict the change of transaction fee for now, but we keep tracking the development of EIP-1559.

Design Goals of EIP-1559 

Better User Experience 

Ethereum and Bitcoin currently both use a first price auction mechanism. This fee mechanism is simple but inefficient. The biggest problem is cost estimation. EIP-1559 attempts to solve this problem by making all transactions pay the same fee as possible. In most cases, the user only needs to decide whether to initiate a transaction, without having to consider how to set the fee.

Slack mechanism

Block space utilization often changes. While some blocks are almost empty others are full of transactions. The variable block size will vary with actual demand and improve speed slightly.

Better security 

When - in the future - block rewards disappear, transaction fees alone will not be enough to motivate miners to maintain network security. By destroying transaction fees, EIP-1559 can extend the time for block rewards to incentivize miners without increasing the total supply, thereby ensuring the security of the network.

Prevent Economic Abstraction

In simple terms, only ETH is allowed to pay transaction fees. If users can use any token to pay transaction fees, it may threaten the reserve status of ETH. EIP-1559 alleviates this problem by forcing ETH as a fee token.

How EIP-1559 works

The old gas fee mechanism

  • Miner fee = GasPrice * GasUsed
    • GasUsed (gas): The total amount of gas consumed by the transaction
    • GasPrice (gwei): The price per unit of gas, 1 gwei = 10^(-9) eth
  • Using a bidding mechanism, the higher the GasPrice setting, the faster the transaction processing speed
  • The transaction is processed by the miner, and the gas fee is completely collected by the miner

The new gas fee mechanism

  • Transaction fee = (baseFee + PriorityFee) * GasUsed

Comparing the formula before and after the upgrade, we see that EIP-1559 splits GasPrice into a combination of two rates: baseFee and PriorityFee.

baseFee (base fee)

baseFee will be automatically adjusted according to the space utilization of the previous block. If the utilization exceeds 50%, the baseFee of the current block will be increased; otherwise, it will be decreased.

According to the baseFee calculation formula, the range of baseFee change between adjacent blocks is within ±12.5%:

  • If the space utilization rate of the previous block is 100%, the baseFee of the current block will automatically increase by 12.5%
  • If the space utilization rate of the previous block is 0%, the baseFee of the current block will automatically decrease by 12.5%

Unlike the original gas fee mechanism, after the EIP-1559 upgrade, the transaction fee is not completely charged by the miners. Instead, the baseFee will be completely destroyed.

PriorityFee (tip)

PriorityFee is a tip for miners that still uses a bidding design. If you want your transactions to be packaged in the block as soon as possible, you can set PriorityFee to incentivize miners, and miners will give priority to processing transactions with high PriorityFee.

At the same time, users can also set the maximum value of PriorityFee, which is the upper limit of tips paid to miners, also called maxPriorityFee.

maxFee (maximum fee)

maxFee represents the highest transaction fee that a user is willing to pay for a transaction. Corresponding to the formula, maxFee = baseFee + maxPriorityFee, where both maxFee and maxPriorityFee can be set by the user, and baseFee is automatically given by the algorithm.

Note: After the upgrade, the term "miner fee" is no longer appropriate, because the baseFee in the fee is to be destroyed, and only Tip is collected by the miner. Perhaps after the EIP-1559 upgrade, we should abandon the term "miner fee" in the Ethereum ecosystem.

EIP-1559 Transaction Fee Calculation Example

  • Before the upgrade
    • Miner Fee= GasPrice *GasUsed
  • After the upgrade
    • Transaction Fee= (baseFee + PriorityFee) * GasUsed
    • maxFee >= baseFee + maxPriorityFee 

Possible fee settings, in gwei:

Snipaste_2021-08-05_17-29-47.png

Discussion about EIP-1559 

EIP-1559 has been debated in the community for 2 years, even now. There are some useful information, if you are interested in: 

  1. EIP-1559: Fee market change for ETH 1.0 chain 
  2. EIP-1559 Resources 🔥

Relevant Tool for EIP-1559 

Reference

  1. Deribit Insights | Analysis of EIP-1559
  2. Chang-Wu:EIP-1559