Alert Source Discuss
🚧 Stagnant Standards Track: Core

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-12^64-2,则交易必须无效。

CREATECREATE2

如果 nonce 会因 CREATECREATE2 而递增到 2^64-1,则会将其设置为 2^64-22^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.