Original title: "Vitapk: Why I'm not worried about the relaxed block capacity in EIP-1559"
Original author: Vitapk Buterin
Original translation: ETH Chinese website
One criticism of EIP-1559 is that the block size is variable, floating in the range of [0,25M] instead of a fixed 12.5M gas pmit, which requires clients to handle double the load. This argument is further deduced that if we think that clients can handle such a high load, then they should be able to handle such a high load at any time, so we might as well abandon EIP-1559 and do something more useful directly - double the block size limit.
The core idea behind this idea is that the primary harm of large blocks comes from the largest blocks that pass through the client, not the average block size. I think this is wrong (and therefore EIP-1559 poses no greater risk to clients than a fixed gas pmit), and here are my reasons.
Three reasons:
1. Normal block processing time will increase
From the current approximately 400 ms to about 3.2s, which will have many negative consequences:
Very high uncle block rate, leading to centralization
It will be difficult for all but the most powerful nodes to keep in sync
Even the most powerful nodes require more resources
There will be longer delays before resynchronization after a short power outage (for example, if you run a node on a laptop and you need to move the computer from home to a cafe)
2. Due to DoS attacks, block processing time will be extended in the worst case, from the current 20~80 seconds to possibly 160~640 3. Storage growth rate will increase.
Going from about 50 GB/month today to about 400 GB/month will result in
much slower sync
much higher storage requirements
slower disk processing, as large databases will be slower to access than small ones
Note: everything under arguments 1 and 3 only applies to long-term normal usage, not to peaks. So if you want to consider the impact of peaks, just focus on argument 2.
EIP-2929 has increased the gas cost of storage access operations, which has increased the gas consumption required for a worst-case DoS attack by 3 times. This means that EIP-2929 combined with EIP-1559 actually reduces the cost of processing a block by 1.5 times in the worst case.
It is natural to ask a question here: "If EIP-2929 is so good, why not just increase the gas pmit to 25M or 37.5M"? The answer is simple: reason 2 is not the only reason to avoid increasing gas consumption. Even if the DoS problem can be completely solved, the problems under reasons 1 and 3 will still exist for the foreseeable future. Therefore, the additional slack given by EIP-2929 cannot be used to significantly increase block capacity.
If the attacker attacks the chain and fills the blocks with garbage data with the maximum block capacity (2 times the target capacity), the gas price of each block will increase by 1.125 times. This increase is exponential: continuously generating 5 full blocks (about 65 seconds) will increase the gas price by 1.8 times, and after 5 minutes, the gas price will increase by 15 times (225 times after 10 minutes). In order to maintain the attack, the attacker must pay all transaction fees according to these crazy rising prices. Therefore, a realistic attack can last about 5 minutes.
What happens if the client receives the blocks generated in these 5 minutes (each takes 20~60 seconds to process)? Obviously, the chain will be very slow during this time. There will be a lot of short-range forks. The fact that there are forks means that the attacker can still roll back transactions on the chain after the attack with a small amount of hash power (for example, about 20%). This is a very bad situation.
However, this is much better than an attack that the attacker can sustain for an hour or even a day. Most transactions and other services now wait for confirmations for more than 5 minutes, and only extremely vulnerable services will be disrupted because it is too difficult for them to send a transaction in 5 minutes, and a rollback or denial of service that lasts for hours or even days, as in the 2016 Shanghai attack, will have very serious consequences.
Therefore, a peak of 25 million gas for 5 minutes is much less risky than a gas pmit of 25 million.
The Poisson process inherent in proof-of-work mining means that there is randomness in when blocks are published. In fact, the randomness alone leads to a peak of twice the chain capacity once a week, which lasts for five minutes.
Note: This is caused by a large number of blocks of the same size rather than the same number of large blocks, but as far as I know, there is no evidence or reason to believe that the gas consumed by the processing of a single block is growing superlinearly
So to some extent, the usage peak is a known quantity and the ecosystem has been able to ignore its impact so far.
Original link
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia