🚧 Stagnant
Standards Track: Core
EIP-6188: Nonce 上限
EIP-6188: Nonce 上限
将 nonce 限制为 2^64-2
Authors | Gavin John (@Pandapip1) |
---|---|
Created | 2022-12-20 |
Discussion Link | https://ethereum-magicians.org/t/eip-6190-functional-selfdestruct/12232 |
Requires | EIP-2929 |
摘要
本 EIP 将 nonce 限制为 2^64-2
,将其预留给具有异常行为的合约,如其他 EIP 中所定义。
动机
本 EIP 本身并没有太大的用处,因为它增加了额外的计算而没有任何有用的副作用。但是,它可以被其他 EIP 使用。
规范
本文档中的关键词“必须”,“不得”,“必需”,“应该”,“不应该”,“推荐”,“可以”和“可选”应解释为 RFC 2119 和 RFC 8174 中所述。
EOA 交易
来自 EOA 的交易的 nonce 必须小于 2^64-2
。如果 nonce 是 2^64-1
或 2^64-2
,则交易必须无效。
CREATE
和 CREATE2
如果 nonce 会因 CREATE
或 CREATE2
而递增到 2^64-1
,则会将其设置为 2^64-2
。2^64-1
保留给别名或其他特殊合约。
理由
限制 nonce 允许创建具有特殊属性的合约,其功能基于其合约代码。因此,只需要保留一个 nonce。
向后兼容性
本 EIP 需要协议升级,因为它修改了共识规则。进一步限制的 nonce 不应对帐户产生影响,因为达到 2^64-2
的 nonce 是很困难的。
安全注意事项
由于合约账户无法达到 nonce 限制,因此可以安全地忽略任何可能存在的问题,即那些依赖于账户 nonce 值的操作码。
版权
通过 CC0 放弃版权和相关权利。
Citation
Please cite this document as:
Gavin John (@Pandapip1), "EIP-6188: Nonce 上限 [DRAFT]," Ethereum Improvement Proposals, no. 6188, December 2022. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-6188.