Alert Source Discuss
🛑 Withdrawn Standards Track: Core

EIP-3382: 硬编码区块 Gas 上限

Authors Philippe Castonguay (@PhABC)
Created 2021-03-13
Discussion Link https://ethereum-magicians.org/t/eip-3382-hardcoded-gas-limit

简单总结

将区块 gas 上限硬编码为每个区块 12,500,000 gas。

摘要

更新区块验证规则,使得如果 gas_limit 头字段不等于 12,500,000,则该区块无效。

动机

以太坊的工作量证明和权益证明设计都假设区块生产者在财务上是理性的,但不假设区块生产者是仁慈的。但有一个例外,即区块生产者选择区块的 gas 上限时,假设区块生产者关心链的长期健康和去中心化。实际上,区块 gas 上限是以太坊中唯一不由节点共识决定的参数,而是由区块生产者选择的。最初做出这个决定是为了在必要时允许紧急更改区块 gas 上限。大幅增加或减少此参数都可能产生不希望的严重后果。因此,这是一个关键参数,应该需要节点共识,以避免少数参与者对网络的其他部分施加任何突然的有害更改。

规范

在 EIP-1559 之后,将 gasLimit 称为 gasTarget

添加的共识约束

FORK_BLOCK_NUMBER 开始,header.gasLimit 必须等于 BLOCK_GAS_LIMIT,其中 BLOCK_GAS_LIMIT 是一个硬编码常量,设置为 12,500,000

理由

将 gasLimit 保留在区块头中

虽然可以从区块头中删除 gasLimit 字段,但这会更改要哈希的数据结构,这可能会导致意想不到的后果。因此,将 gasLimit 保留在区块头中更容易。

选择的 Gas 上限

之所以提出 12,500,000 这个值,是因为它是撰写此 EIP 时的当前区块 gas 上限。实际金额可以通过后续的 EIP 进行更改,以避免偏离此 EIP 的核心意图。

向后兼容性

此 EIP 向后兼容。

安全考虑

快速更改 gas 上限可能会更难执行,如果出现需要更改 gas 上限的紧急情况,这可能会成为问题。

版权

版权及相关权利通过 CC0 放弃。

Citation

Please cite this document as:

Philippe Castonguay (@PhABC), "EIP-3382: 硬编码区块 Gas 上限 [DRAFT]," Ethereum Improvement Proposals, no. 3382, March 2021. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-3382.