EIP-7938: 指数 Gas Limit 增长
通过设置客户端投票的默认值,在 4 年内将 gas limit 指数增长 100 倍
Authors | Dankrad Feist (@dankrad) |
---|---|
Created | 2025-04-27 |
Discussion Link | https://ethereum-magicians.org/t/eip-9698-exponential-gas-limit-increase-via-default-client-voting-behavior/23884 |
摘要
本提案通过客户端默认值引入了一种确定性的 gas limit 增长计划。以太坊客户端将投票按照指数计划增加 gas limit,除非用户明确配置了其他设置。Gas limit 的增加发生在每个信标链 epoch,与大约每 164,250 个 epoch(2 年)增加 10 倍的因子对齐。它将在 4 年后停止,届时应决定并提交更新后的 gas 增加计划。
动机
当前的 gas limit 机制依赖于矿工/运营者的投票,这种方式缺乏协调性和可预测性。虽然这种方法很灵活,但可能导致停滞或过于谨慎的增长。通过引入一种可预测的指数增长模式作为客户端默认值,本 EIP 鼓励一种可持续且透明的 gas limit 轨迹,与硬件和协议效率的预期改进相一致。
规格
计划
设 G0 = 50,000,000
为激活 epoch 时的 gas limit。设激活 epoch 为以太坊信标链 epoch 369017,它大约对应于 2025 年 6 月 1 日。
设 t
为当前的信标链 epoch,t0 = 369017
为激活 epoch。
设 T = 164,250
为 10 倍增长的 epoch 数。
epoch t
时的 gas limit 计算如下:
G(t) = {
当前默认 limit, 如果 t < t0
round(G0 * 10^((t-t0)/T)), 如果 t0 ≤ t ≤ t0 + 2*T
100 * G0, 如果 t > t0 + 2*T
}
round
应该四舍五入到下一个整数。
客户端行为
- 在每个新的信标链 epoch 开始时,使用上述公式重新计算默认的 gas limit 投票。
- 客户端使用现有的 gas 投票机制自动投票支持计算出的 gas limit。
- 用户可以通过在客户端配置中设置手动 gas limit 策略来覆盖此默认值。
激活
- 激活位于以太坊信标链 epoch 369017。
理论依据
此 EIP 维护了以太坊当前的 gas 投票机制,但通过可预测且社区协调的轨迹对其进行了增强。通过在客户端之间分配责任,而不是通过共识规则强制执行协议更改,此提案在鼓励可扩展性的同时提供了灵活性。
指数增长模型确保了逐步但显著的增长,允许网络适应,同时瞄准了雄心勃勃的吞吐量目标。
向后兼容性
此更改是非共识性的且向后兼容的。未实现 EIP 的客户端将继续像以前一样运行。只有默认行为会更改;仍然支持手动配置。
安全考虑
Gas limit 的快速增加可能会给优化程度较低的节点带来压力,并增加区块传播时间。然而,每个 epoch 增量非常小的指数计划使节点运营者和开发人员有足够的时间进行适应和优化。
版权
在 CC0 下放弃版权和相关权利。
Citation
Please cite this document as:
Dankrad Feist (@dankrad), "EIP-7938: 指数 Gas Limit 增长 [DRAFT]," Ethereum Improvement Proposals, no. 7938, April 2025. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-7938.