633 total views
The gas price is difficult to estimate and brings users a bad experience. The real value of EIP-1559 lies in improving the usability of Ethereum.
Original title: “Depth丨A story tells you, what problem does EIP-1559 solve? 》
Written by: Micah Zoltu
A user’s story
Suppose you are a new user of Ethereum. You have just installed the Coinbase wallet and submitted your first Uniswap transaction. Coinbase Wallet tells you that the transaction will be confirmed within a few minutes, and you need to wait patiently. However, a few minutes have passed, but nothing has changed. At this time, you must think that an error has occurred. So you closed all programs and tried again, but a similar problem occurred again, and your transaction remained in a waiting state.
In frustration, you think there must be something wrong with the application you are using, so you switch to another Ethereum application and try to send a transaction. Unfortunately, the same problem happened again. Then you came up with a great idea. You want to test whether the problem is with the Coinbase wallet by sending yourself some Ethereum, but unfortunately this method will also get stuck.
In the end you have reached the end of the road, you decide to seek help. First you try to contact Coinbase, but their support response time is quite long, so instead you decide to go to the Discord server of the app you initially tried to use. After describing your problem and sharing your Ethereum address with the staff, they explain to you that you have six pending transactions. Before the first transaction is approved, the subsequent transactions will not be approved in advance. They tell you this is a solvable problem and ask what wallet you are using.
When telling the staff that you are using Coinbase Wallet, their answer is 😢, and unfortunately tell you that Coinbase Wallet does not provide the necessary tools to correct this situation. Your only choice is to wait and hope that gas prices will drop, or switch to using other more advanced wallets, such as MetaMask. This is the first time you have heard of “gas prices”. You asked the staff what it was. This led to a 10-minute conversation, but in the end you didn’t really understand it.
Then you go to install MetaMask, it will ask you for your mnemonic phrase. The staff told you to put the mnemonic phrase in the Coinbase wallet, but the Coinbase wallet gave you very clear instructions, never give your mnemonic phrase to anyone! What is your mnemonic phrase? You contacted your trusted network and after a few hours you can verify that MetaMask is legal. It is quite safe to put your mnemonic in MetaMask, but you should probably create a new wallet after this matter is over.
After setting up MetaMask, it will tell you to send yourself 0 Ethereum and enter the advanced gas setting (you still don’t understand this term), set it to 70. The support staff sent you a link to the website, which showed some numbers that change every 15 seconds or so. They told you to set the gas prices in MetaMask to the first number on the website before submitting the transaction.
If you follow these instructions carefully, your transaction will be successful! Then, you check your account balance to see if everything is normal, you find that you have a lot less Ethereum than you expected, and you also noticed , What you want to do does not actually happen. The staff explained patiently that after clearing the blockage, all your other transactions passed immediately. They tell you that every failed transaction cost you some gas s (again, a term you don’t understand well!), which is why your ETH balance drops .
You are told that your account is now working normally and you can try your transaction again, but obviously you should observe this website. No matter you want to make any transaction, you should first set “gas prices” to match the number it shows.
Is it just a one-time problem?
Unfortunately, the above is a very common situation for users. Although it is easy to blame Coinbase, almost all wallet users will have the same problem, including advanced wallets such as MetaMask. This problem is most common in times of increasing congestion (when the wallet estimates the wrong gas prices), but a similar problem can also occur when there is no congestion due to a bug in the gas prices estimation software.
A happy ending
Now imagine if we live in a world where we don’t need to predict future Ethereum block space requirements. Users only need to set the maximum amount they are willing to pay to get the transaction included without worrying about paying excessive fees . Rather than letting users fall into an abyss of endless despair while waiting for a transaction, users only need to show that they are willing to pay the maximum amount they are willing to pay for the transaction, and they can trust that they will never pay more than this amount. This is a market that does not need to understand/predict gas prices.
This is what EIP-1559 provides. It allows Coinbase Wallet to reliably ensure that all transactions of its users are included in the blockchain, without requiring their customers to pay excessive fees, and without the need to develop advanced transaction and prediction algorithms for accurate cost estimation.
It allows MetaMask to allow users to specify the maximum fee they are willing to pay instead of letting them predict the future.
It frees users from the situation where they need experts to get rid of.
It allows users to end up not wasting a lot of money on excessive gas fees.
It prevents the user interface from spending a lot of money for no reason just because of a simple input error.
What went wrong?
In the user’s story above, Coinbase tried to conceal gas prices from users, because this is a very complicated topic that most users do not understand. Instead, they will estimate gas prices on behalf of users, which works well in most cases. However, when gas prices fluctuate greatly, their algorithm sometimes makes mistakes (not their fault), and the user’s transaction will fall into a deadlock at this time. Once the transaction is blocked, it will block all future transactions until the transaction passes, regardless of the gas prices of these future transactions. This is what causes users to try to solve the problem on their own, but instead digs into a deeper and deeper hole.
Unfortunately, once the hole is dug, there is no magic bullet to get you out. You can use custom nonces advanced tools like MetaMask (assuming your wallet supports mnemonics) to clear this transaction, but in this way, all your other transactions (most likely including repeated transactions, expired Transactions, etc.) will be flooded, unnecessary to spend gas costs. On the contrary, you can cancel all transactions in the reverse order, but this is a very complicated process for the end user, requiring a dedicated support staff to sit with you for 10-15 minutes to guide you through the process. Even in this case, you will still spend gas costs, but it will cost you less to clean up blocked transactions before canceling all other transactions.
Past performance does not guarantee future results
The root of the problem here is that the estimation of gas prices is really difficult . There are many tools trying to manipulate it, but it is an unsolvable problem after all, because the future gas prices are a function of the block space demand, and they are changing all the time. During some events, people can predict the increase in demand, such as the launch of ICOs, the launch of new popular projects, the update of oracle price feeds, etc., but it is almost impossible to track all of these. Even if you track it, it is impossible to have a strong guarantee for the demand caused by any particular event.
Finally, estimators of gas prices generally rely on historical data and predict future gas prices on this basis. This method is very effective in some cases, but it won’t work when gas prices are rising or falling. To make matters worse, you always have to pay the full gas price you estimated, even if you overestimate the gas price! This means that everyone has a strong desire to try to lower the gas price and hope to get a discount. Even if you don’t want to lower the price, you often want to at least not pay a large amount of money, so you will choose a middle number that allows you to quickly enter the range.
What is the solution?
EIP-1559. Most people know that this EIP is due to the decrease in the supply of Ethereum, but in my opinion, the real value of 1559 lies in the increase in the availability of Ethereum. In a world where Ethereum includes EIP-1559, this type of problem will almost completely disappear. Although it is still possible to get yourself into such a “hole”, it is much easier for a wallet to help you avoid the “hole” from the beginning.
With EIP-1559, Coinbase and other wallets do not need to guess the future demand of Ethereum with extremely high accuracy, and cause users to pay unnecessary fees if the user estimates are wrong. Instead, you can add a fixed miner bribe that can be accepted by most miners (probably on the order of 1 nanocoin), and set the upper limit of the fee to twice the current basic fee plus the miner’s bribe. With these settings, the only way for users’ transactions not to be included in the next 6 blocks is if the demand for block space in the next 6 blocks doubles compared to the current one, then all blocks will be contain!
The great victory of EIP-1559 is subtle here. People often ignore it, but it is crucial. If you overestimate the basic cost of a block, no matter how much you overestimate, you still only need to pay the basic cost for the block you include! This means that if you set the cost limit to 1000, the miner bribe is 1 , But you are included in a block with a base cost of 10, and you will only pay 11. This is in contrast with today’s Ethereum. If you set the gas price to 1,000, you will pay 1,000 USD/gas, and even 11 will allow you to be included in the block!
Another usability problem is that, on average, the block will be half full, which means there is almost always room for any transaction that pays the basic fee. Therefore, there is almost no competition in block space. In theory, even the pending pool should be empty most of the time.
This means that those who wish to withdraw gas prices wallets from end users (which is a brave goal) can do this without having to be experts in guessing gas prices (even the most skilled Ethereum experts sometimes fail). This rather small and subtle change in Ethereum gas prices made one of the most common setbacks for new Ethereum users almost completely disappeared. We can finally realize the dream of Ethereum, where end users do not need to worry or consider gas prices.