V神:伦敦升级后,链容量增加9%的三大原因
注,昨日以太坊创始人V神(Vitalik Buterin)发文《链容量为什么在伦敦升级之后增加了约9%?》,以下为全文编译。
观察一下以太坊每日Gas使用量的图表,我们可以发现每天平均使用的Gas从约920亿增加到了约1000亿:增加了9%。
那么,为什么会发生这种情况呢?
我认为,这一情况大致上可以从三个不同的原因上解释:(1)冰河时代的延迟,(2)伦敦升级前的区块没有被填满,以及(3)基费调整公式的不完善。
冰河时代的延迟
伦敦分叉推迟了冰期,当伦敦分叉开始时,冰期刚刚开始生效。在伦敦升级之前,平均区块时间约为13.5秒,而伦敦升级之后,平均区块时间回到了长期的正常水平,约为13.1秒。
这是区块速度3%的差异,也是链上Gas使用量增加9%其中3%。
Gas使用量:目标15M与最大15M
在伦敦升级之前,最大的区块Gas使用量为15M。但并不是所有的区块都使用了整个15M:即使是功能最完善的区块生产者也会留下0-20999的Gas未使用,因为剩余空间太小,无法容纳一个交易。除此之外,总有一些区块生产者会偶尔制造出空区块。4月份的一项分析表明,大约2%的区块是空的。总的来说,我们可以假设伦敦升级前的未使用空间约为2-3%。然而,伦敦升级后,1500M已不是最大值,而是目标。这意味着,如果包括空区块在内的平均Gas使用量低于15M,那么基费也将减少,直到平均数回到15M。
因此,这又占了这一现象原因的约2-3%。
基准费用调整中的数学缺陷
由于算术平均数和几何平均数之间的复杂关系,EIP 1559公式并不能完美实现50%的使用率。一个0%的完整区块可以使基费减少12.5%(乘以7/8),而100%的完整区块可以使基费增加12.5%(乘以9/8)。那么,如果你有一个0%的完整区块,然后是一个100%的完整区块,会发生什么?结果是,基准费用会乘以63/64。因此,为了使基费保持不变,你实际上需要的平均使用率略高于50%。
至于高于多少则取决于波动率是多少。理论上的最小波动偏差是零:这时50%的区块是完整区块,基费在每个区块中保持不变。而理论上最大的波动偏差是53.13%的区块是完整区块,而46.87%的区块是空区块(满和空的比例是1.133,与-log(7/8)/log(9/8)的比例相同);在这种情况下,基费将在平均53.13%的区块是完整区块时保持不变。而实际使用情况似乎在这两个极端的中间:从最近观察到的一个时间段的数据来看,51.5%是完整区块(因此,比预期的50%高约3%)。
最近的数据分析也大致证实了后两个数字(仔细看伦敦会议前和伦敦会议后的蓝线,以及图表上的15M水平线)。
解决这一数学问题的一个可能方法是让基本费用调整机制更明确地呈指数增长: https://ethresear.ch/t/make-eip-1559-more-like-an-amm-curve/9082 。这将建立一个硬性的不变因素,基础费用可以作为总“过剩”Gas使用量的直接函数计算(因此,对于任何水平的过剩Gas使用量,基费将不得不最终趋于无穷大)。
但现在,以太坊用户可以为伦敦升级带来的无意的6%的容量增长而欢欣鼓舞(而客户端开发人员需要继续努力解决无状态/状态过期问题,以确保我们可以安全地处理状态增长)。
原文:https://www.reddit.com/r/ethereum/comments/p4nloh/why_has_the_chain_capacity_increased_by_9_after/