我们准备好提高 gaslimit 了吗?
关于增加以太坊 gas 吞吐量的可能性,讨论越来越多,这可以通过提高gasLimit(gas 限制)或减少插槽时间来实现。支持这一观点的关键论据是,运行验证者的硬件要求在过去四年中稳步下降。
此外,出现了两种增加 Gas Limit 的方法:
在这篇文章中,我将分析在带宽、计算和存储要求方面,如果 gas 限制翻倍的情况下,可能出现的最坏和平均情况。
当以太坊在 2015 年推出时,gas 限制最初设置为每个区块 5,000 gas。随着时间的推移,这一限制发生了显著变化:
– 在Tangerine Whistle 硬分叉之后,特别是EIP-150的实施,gas 限制增加到550 万。这一调整是对某些 I/O 密集型操作码重新定价的一部分,以应对拒绝服务(DoS)攻击。
– 2017 年 7 月,gas 限制提高到670 万,并继续增加:
– 2017 年 12 月:约800 万
– 2019 年 9 月:约1000 万
– 2020 年 8 月:1250 万
– 2021 年 4 月:1500 万
在EIP-1559下,还有一个最大(或“硬上限”)gas 限制,设置为目标的两倍。这意味着一个区块可以包含最多3000 万 gas的交易。
而在将近四年中,gas 限制没有任何增加。
为了回答这个问题,我们需要分析硬件要求的三个方面:带宽、计算和存储,如果今天将 gas 限制提高到6000 万。
在考虑增加 gas 限制时,存储是以太坊网络最大的瓶颈和关注点。原因在于以太坊状态大小的历史增长以及这对验证者的持续压力。
以太坊有两种“增长”:
状态增长
历史增长
以太坊的状态——所有账户余额、智能合约代码和存储的集合——随着更多交易的处理和智能合约的部署而不断扩展。自其成立以来,状态大小显著增长,网络拥堵、交易活动增加以及去中心化金融(DeFi)和 NFT 的兴起推动了加速增长。目前,状态增长约为每月 2.5 GB,或每年 30 GB。
这种状态增长可能导致以下问题:
– 磁盘访问时间变慢
– 硬件要求增加
然而,截至撰写本文时,这些问题都不是特别显著。事实上,由于查询的算法复杂性通常是对数级的,因此仅相差几十 GB 的存储系统之间的访问时间差异相当微不足道。存储要求也不显著,因为新硬件的成本下降速度远远超过每年 30 GB 的相对较小的状态大小增长。即使增加到每年 60 GB,差异可能也不会显著,并且仍将被硬件技术进步所超越。
这种状态大小的增加仍然被技术进步以显著的幅度超越。即使 gas 限制翻倍,硬件成本仍在指数下降,使得所需硬件随着时间的推移变得更便宜。
然而,值得注意的是,很快,单独的质押者将需要超过2 TB的存储来在以太坊上运行验证者。这将有效地将要求提高到4 TB的存储,因为大多数硬件是以 2 的幂出售的。矛盾的是,这意味着以太坊可能会利用额外的存储,因为验证者无论 gas 限制是否增加,都需要投资于更大容量的硬件。
注意:没有关于存储的平均与最坏情况分析,因为长时间(数周和数月)持续操控区块是一个极其昂贵的努力。
为了证明我关于存储成本以指数速度下降的说法,我们可以看看过去四年中 1 GB SSD 的价格波动:
似乎每两年,1 GB SSD 的成本就会减半。
如果我们将其与存储和状态增长进行比较,差异是微不足道的。以太坊的当前增长是线性的,而硬件成本往往以指数速度下降。
我找到了一个更能说明这一趋势的存储成本图表,但它来自 Reddit 帖子,而不是实际的科学出版物(尽管结果相符)。
以太坊的带宽平均情况看起来像是2MB/s
;然而,这个数字的大部分来自 CL 的 gossiping blobs 和聚合。当涉及到增加 gas 限制时,唯一需要关注的是区块大小。
目前,记录的最大区块大小为270 KB,而 Deneb 之后的当前区块大小为75 KB。如果我们将其翻倍,变化相当于与历史最大值和当前平均值相比增加0.5-2
个 blob,这相当于节点带宽(进出)的≈2-5%的增加。因此,就平均情况而言,这不是一个显著的变化。事实上,额外的三个 blob 会更具破坏性。
最坏情况已计算为1.7MB
,这将变为3.4MB
(需要+50%
的带宽来应对峰值)。这并不多,但仍然显著。我认为这不多的原因是,这样的 DoS 攻击会非常昂贵,峰值将是当前平均要求的+50%
,这是已经考虑到的。正如我所说,连续多个区块填满1500 万gas 的区块是非常昂贵的。因此,即使攻击者可能会对几个区块发起 DoS 攻击,他们也需要花费大量资金。此外,他们还需要与其他交易竞争以进入区块,这使得这更加昂贵。
无论如何,不管对数字的看法如何,增加 calldata 成本将完全解决这个问题,所以我对此并不担心。此外,如果通过EIP-7783提高 gas 限制,这些风险是可以忽略和可控的。
计算和区块时间从来都不是问题,但我们还是来讨论一下。
区块计算的平均情况通常是<1 秒,即使对于磁盘性能差的慢速机器也是如此。这里没有太多争论——平均而言,这从来都不是瓶颈。
最坏的情况似乎不明确,取决于客户端。与一些客户端团队交谈后,似乎共识是唯一的问题是某些操作码(如MODEXP)扩展性不好。
然而,任何此类的 DoS 向量都可以通过重新定价来修复,如果EIP-7783增加了 gas 限制,那么这些风险是可以忽略的。
总体而言,存储增长并不是增加 gas 限制的瓶颈,因为存储等硬件很容易升级。然而,带宽构成了更大的威胁,因为它更难扩展。幸运的是,通过EIP-7783,与带宽和潜在计算增加相关的风险得到了有效缓解。尽管如此,重新定价 calldata 成本以确保额外的安全性可能是明智的(尽管在我看来,这不太可能是必要的)。
在我个人看来,如果通过EIP-7783引入的逐步增加,目前可以将 Gas Limit 增加 33%,甚至今天就可以将其翻倍。
我认为通过EIP-7782来实现这一点还为时过早,因为这对 DVT 和 SSF 来说是惩罚性的。然而,一旦这些问题解决——减少插槽时间肯定是应有之义。
原文链接: https://giulioswamp.substack.com/p/are-we-finally-ready-for-a-gas-limit
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!