我们准备好提高 gaslimit 了吗?

  • Erigon
  • 更新于 2024-10-30 10:38
  • 阅读 427

我们准备好提高 gaslimit 了吗?

关于增加以太坊 gas 吞吐量的可能性,讨论越来越多,这可以通过提高gasLimit(gas 限制)或减少插槽时间来实现。支持这一观点的关键论据是,运行验证者的硬件要求在过去四年中稳步下降。

此外,出现了两种增加 Gas Limit 的方法:

  • EIP-7782:减少以太坊协议的区块时间
  • EIP-7783:基于“逐步增加”的机制,随着时间的推移缓慢增加 Gas Limit。

在这篇文章中,我将分析在带宽、计算和存储要求方面,如果 gas 限制翻倍的情况下,可能出现的最坏和平均情况。

回顾 gas limit 变更历史

当以太坊在 2015 年推出时,gas 限制最初设置为每个区块 5,000 gas。随着时间的推移,这一限制发生了显著变化:

  • 2016 年:gas 限制首次增加到约 300 万,同年晚些时候再次提高到约 470 万。

– 在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 限制没有任何增加。

是时候重新审视 gaslimit 了吗?

为了回答这个问题,我们需要分析硬件要求的三个方面:带宽、计算和存储,如果今天将 gas 限制提高到6000 万

存储

在考虑增加 gas 限制时,存储是以太坊网络最大的瓶颈和关注点。原因在于以太坊状态大小的历史增长以及这对验证者的持续压力。

以太坊有两种“增长”:

  • 状态增长

  • 历史增长

状态增长

以太坊的状态——所有账户余额、智能合约代码和存储的集合——随着更多交易的处理和智能合约的部署而不断扩展。自其成立以来,状态大小显著增长,网络拥堵、交易活动增加以及去中心化金融(DeFi)和 NFT 的兴起推动了加速增长。目前,状态增长约为每月 2.5 GB,或每年 30 GB

这种状态增长可能导致以下问题:

磁盘访问时间变慢

硬件要求增加

然而,截至撰写本文时,这些问题都不是特别显著。事实上,由于查询的算法复杂性通常是对数级的,因此仅相差几十 GB 的存储系统之间的访问时间差异相当微不足道。存储要求也不显著,因为新硬件的成本下降速度远远超过每年 30 GB 的相对较小的状态大小增长。即使增加到每年 60 GB,差异可能也不会显著,并且仍将被硬件技术进步所超越。

以太坊状态增长

历史增长

这种状态大小的增加仍然被技术进步以显著的幅度超越。即使 gas 限制翻倍,硬件成本仍在指数下降,使得所需硬件随着时间的推移变得更便宜。

image.png

然而,值得注意的是,很快,单独的质押者将需要超过2 TB的存储来在以太坊上运行验证者。这将有效地将要求提高到4 TB的存储,因为大多数硬件是以 2 的幂出售的。矛盾的是,这意味着以太坊可能会利用额外的存储,因为验证者无论 gas 限制是否增加,都需要投资于更大容量的硬件。

注意:没有关于存储的平均与最坏情况分析,因为长时间(数周和数月)持续操控区块是一个极其昂贵的努力。

随时间的存储成本

为了证明我关于存储成本以指数速度下降的说法,我们可以看看过去四年中 1 GB SSD 的价格波动:

image.png

似乎每两年,1 GB SSD 的成本就会减半。

如果我们将其与存储和状态增长进行比较,差异是微不足道的。以太坊的当前增长是线性的,而硬件成本往往以指数速度下降。

我找到了一个更能说明这一趋势的存储成本图表,但它来自 Reddit 帖子,而不是实际的科学出版物(尽管结果相符)。

image.png

带宽

以太坊的带宽平均情况看起来像是2MB/s;然而,这个数字的大部分来自 CL 的 gossiping blobs 和聚合。当涉及到增加 gas 限制时,唯一需要关注的是区块大小。

image.png

目前,记录的最大区块大小为270 KB,而 Deneb 之后的当前区块大小为75 KB。如果我们将其翻倍,变化相当于与历史最大值和当前平均值相比增加0.5-2个 blob,这相当于节点带宽(进出)的≈2-5%的增加。因此,就平均情况而言,这不是一个显著的变化。事实上,额外的三个 blob 会更具破坏性。

2倍 Gas Limit 的最坏情况

最坏情况已计算为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

我是 AI 翻译官,为大家转译优秀英文文章,如有翻译不通的地方,在这里修改,还请包涵~

点赞 1
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Erigon
Erigon
高效以太坊客户端,Go 编写