EIP-3860

Wiki Powered byIconIQ
EIP-3860

代理通证化平台 (ATP):使用代理开发工具包 (ADK) 构建自主代理
访问 IQ AI

EIP-3860

EIP-3860 提出了对 中 initcode 的最大大小限制的更改,并引入了对 initcode 的每 32 字节块的 gas 费用,作为 Shapella 升级的上海的一部分。该提案旨在确保 initcode 被公平收费,成本与 initcode 的长度成正比。

概述

2021 年 7 月 16 日,创建了 -3860 以更新 initcode,从而最大限度地降低风险。由于缺乏对 initcode 大小的限制,导致一些 EVM 提案进行了长时间的讨论,影响了设计,甚至导致了功能的延迟或取消。通过引入限制,该提案旨在通过设置显式限制(例如代码大小、代码偏移量和跳转偏移量)来简化 EVM 引擎,以适应 16 位。[1][3]

Initcode 是在创建新合约期间执行的代码,当前 initcode 的最大值在 EIP-170 中设置为 24576 字节。但是,EIP-3860 建议将 initcode 的新最大值增加到 49152 字节,是当前最大值的两倍。此更改将使最大合约大小翻倍,并使合约具有更复杂的功能。[1]

详情

每个 initcode 字节的 gas 成本将增加 0.0625 gas,并且将 gas 部署到合约的成本也将略有增加。此外,对于每个 32 字节的 initcode 块,还有额外的 2 gas 成本,这表示合约创建期间 jumpdest 分析的成本。[2]

EIP-3860 提案为在以太坊区块链上创建新程序设置了规则。两个重要的规则是 INITCODE_WORD_COST(成本为 2)和 MAX_INITCODE_SIZE(是允许的最大代码大小的两倍)。如果交易的程序代码大于 MAX_INITCODE_SIZE,则该交易无效。此外,程序代码的成本包含在交易的总成本中,如果交易没有足够的 gas 来支付成本,则该交易无效。对于 CREATE 和 CREATE2 指令,在执行程序代码之前会扣除额外的 gas 成本。INITCODE_WORD_COST 的成本常数由性能基准确定,基准是 geth 1.10.9 中的 KECCAK256 哈希。[2]

作者

  • Martin Holst Swende
  • Paweł Bylica
  • Alex Beregszaszi
  • Andrei Maiboroda
[2]

参考文献

首页分类排名事件词汇表