Alert Source Discuss
⚠️ Draft Standards Track: Core

EIP-7954: 增加最大合约大小

将最大合约代码大小从 24KiB 增加到 32KiB,并将 initcode 大小从 48KiB 增加到 64KiB。

Authors Giulio Rebuffo (@Giulio2002), Ben Adams (@badams)
Created 2025-06-09
Discussion Link https://ethereum-magicians.org/t/increase-maximum-contract-size-to-48kb/24509
Requires EIP-170, EIP-3860

摘要

本 EIP 提议将以太坊上部署的合约代码的最大允许大小从 24,576 字节增加到 32,768 字节。

动机

当前 24KiB 的合约大小限制对于复杂的合约和应用程序来说可能具有限制性。 将限制增加到 32KiB 有助于实现功能更丰富的合约,同时保持对区块和状态增长的合理约束。

规范

  1. EIP-170 的合约代码大小限制从 24KiB(0x6000 字节)更新为 32KiB(0x8000 字节)。
  2. EIP-3860 的 initcode 大小限制从 48KiB(0xC000 字节)更新为 64KiB(0x10000 字节)。

理由

  • 开发者灵活性: 允许更复杂的合约和功能。
  • 向后兼容性: 现有合约不受影响。
  • 简单性: 仅更改大小限制,没有其他协议修改。

向后兼容性

此更改不向后兼容,必须通过网络升级(硬分叉)激活。 激活后,可以部署大于 24KiB 且最大为 32KiB 的合约。

安全注意事项

更高的合约大小限制可能会稍微增加通过大型合约进行拒绝服务攻击的风险,但新的限制仍然是保守的。

版权

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

Citation

Please cite this document as:

Giulio Rebuffo (@Giulio2002), Ben Adams (@badams), "EIP-7954: 增加最大合约大小 [DRAFT]," Ethereum Improvement Proposals, no. 7954, June 2025. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-7954.