EIP-1559 - A proposal to change fee market mechanism
EIP-1559 is part of the London upgrade that happened on August 2021 at block# 12965000.
Ethereum Gas Fee Structures
It changed the fee mechanism to reduce gas price volatility and transaction delays.
Prior to the London upgrade, the block size was fixed at 15 million gas units. This resulted in unnecessary transaction delays, particularly during the congestion period. One of the changes is to make the block size variable. The target is 15M, but it can grow upto 30M gas units.
Instead of letting the user guess the network congestion, the Ethereum protocol computes the base fee based on the network demand. The base fee is recalculated after every block depending on the size of the previous blocks. The base fee will continue to rise if the previous blocks are larger than the target, and it will decrease if they are smaller. The objective is to keep the average block size close to the target, which is 15M gas units. There is no guessing game with the base fee because most wallet software (e.g., Metamask) can look at previous blocks and then quote a base fee to users. Users can then decide whether to do a transaction or not.
The base fee is burnt instead of sending it to miners(validators). If not, miners(validators) may add their own transactions into the block to keep the base fee going up. Now that they don't get the base fee, they are indifferent to the block capacity. Additionally, by burning the base fee, the ETH issuance rate is reduced. Simply put, when you pay for a transaction, you are paying it to all ETH holders.
Now that the miners(validators) don't get the base fee, they need an incentive to pickup your transactions. EIP-1559 introduced priority fee that goes to the miners(validators) to disincentivize them from producing empty blocks. Users only need to guess priority fee to speeden up their transactions. This is usually a small amount.
Fear not. We will break it down.
Assume you are doing an ETH transfer via a wallet.
The wallet computes the base fee based on the size of previous blocks.
You enter priority fee(referred to as tip) that goes to the miners(validators) to priorize your transaction.
You submit your transaction and nothing happens.
What if there is a sudden congestion (possibly an NFT launch) and the base fee has increased?
Since the BASE FEE has increased, it has eaten up a portion of the priority fee.
Miners (validators) will now receive a 1 GWEI tip.
Your transaction remains valid, but it is less likely to be picked up due to the existing congestion, and miners(validators) prioritizing other transactions since your tip has been reduced to 1 GWEI.
What if the congestion persists and the base fee keeps on rising?
Your transaction will not be picked up if the max fee is less than the base fee.
Assume after a while, the increase the in base fee caused more transactions to be excluded. As a result, the subsequent blocks are not full, lowering the base fee.
Once the transaction is processed, any extra fee paid will be refunded to the users.
Generally, it is preferable to pay a high max fee so that the transactions don't end up waiting since any extra fees are refunded, unlike in a first price auction, where everything is paid to the miners(validators).
Overall, EIP 1559 promised an improved user experience. Let's dig into the data to validate the impact ourselves.
🏋️ Let's query the chain
Can you find the peak congestion time since London upgrade (and before Sep'22)?
Hint: Solve https://dune.com/queries/1267747