Vitalik: Why I'm not worried about slack block capacity in EIP-1559
Source | notes.ethereum.org/@vbuterin
Author | Vitalik Buterin
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 limit, which makes the client need to handle double the load. This argument is further deduced that if we think that the client can handle such a high load, then they should be able to handle such a high load at all times, so we might as well abandon EIP-1559 and do something more useful directly - put Block size limit doubled. The core idea behind this idea is that the primary hazard of large blocks comes from those largest blocks via clients, not the average block size. I think this idea is wrong (so the risk of EIP-1559 to the client will not be higher than the fixed gas limit mechanism), and the following is my reason. ➤ Review: What are the reasons for not raising the gas limit to 100M immediately? Three reasons: 1. The block processing time under normal circumstances will increase From about 400 ms currently to about 3.2s, this has a lot of negative consequences:
Very high uncle block rate, leading to centralization
All but the most electrically powered nodes struggle to keep in sync
Even the most powerful nodes require a greater amount of resource consumption
Longer delays before resync after a brief power outage (say you're running a node on a laptop and you need to move your computer from home to a coffee shop)
2. Due to DoS attacks, the block processing time will be extended in the worst case, from the current 20~80 seconds to 160~640 seconds.
3. Storage growth rate will increase
from about 50 GB/month now to about 400 GB/month, which would result in
Sync is much slower
Storage requirements are much higher
Slower disk processing, since large databases will be accessed more slowly than small databases
Please note: Everything under Reason 1 and Reason 3 applies only to long-term normal usage, not to peaks. Therefore, if the impact of the peak period is to be considered, it is sufficient to focus on reason 2.
➤ Argument 1: EIP-2929 has made up for the shortcomings of EIP-1559
EIP-2929 has increased the gas cost of storage access operations, which has tripled the gas consumption required for worst-case DoS attacks. This means that EIP-2929 combined with EIP-1559 is actually a net 1.5x reduction in the worst case cost of processing blocks now.
It is natural to ask a question here: "If EIP-2929 is so good, why not just increase the gas limit to 25M or 37.5M"? The answer is simple: reason 2 is not the only reason to avoid increased gas consumption. Even if the DoS problem can be completely solved, the problems under reasons 1 and 3 will exist for the foreseeable future. Therefore, the extra slack provided by EIP-2929 cannot be used to significantly increase the block capacity.
➤ Argument 2: For the same level of DoS attacks, the peak caused by short-term attacks is far less harmful than that caused by long-term attacks
If the attacker launches an attack on the chain and fills the block 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). To sustain the attack, the attacker must pay all transaction fees at these insanely rising prices. Therefore, a realistic attack lasts about 5 minutes.
What happens if the client receives blocks generated within these 5 minutes (each takes 20-60 seconds to process)? Obviously, the processing speed of the chain will become very slow during this time. There will be a lot of short-range forks. In fact, a fork means that an attacker can still roll back on-chain transactions after an attack with a small amount of hash power (say around 20%). This is a very bad situation.
However, this is much better than an attack that an attacker can sustain for an hour or even a day. Most transactions and other services now wait more than 5 minutes for confirmation, only extremely fragile services are broken because it is too difficult for them to send a transaction in 5 minutes, and rollback or denial of service requires Going on for hours or even days, like the Shanghai attack in 2016, can have very serious consequences.
Therefore, reaching a peak of 25 million gas for 5 minutes is much less risky than a gas limit of 25 million.
➤ Argument 3: The short-term peak has already appeared
The Poisson process inherent in proof-of-work mining means that blocks are published randomly. In fact, randomness alone causes a weekly spike of twice the chain capacity that 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 grows superlinearly)
ECN's translation work aims to deliver high-quality information and learning resources for the Chinese Ethereum community. The copyright of the article belongs to the original author, and the source of the original text and the ETH Chinese website must be indicated when reprinting. For long-term reprinting, please contact eth@ecn.co for authorization.
Original link:https://notes.ethereum.org/@vbuterin/eip_1559_spikes
ECN's translation work aims to deliver high-quality information and learning resources for the Chinese Ethereum community. The copyright of the article belongs to the original author, and the source of the original text and the ETH Chinese website must be indicated when reprinting. For long-term reprinting, please contact eth@ecn.co for authorization.


