EIP-8200提议把RIPEMD-160、MODEXP与BLAKE2f三个预编译合约替换为部署在同地址的等效EVM字节码,延续EIP-7666对identity预编译的做法,减少客户端特例与zkEVM负担。本文拆解地址处理、计费切换与费用差异。
汇总与「EVM」相关的文章,帮助你系统了解该主题。
EIP-8200提议把RIPEMD-160、MODEXP与BLAKE2f三个预编译合约替换为部署在同地址的等效EVM字节码,延续EIP-7666对identity预编译的做法,减少客户端特例与zkEVM负担。本文拆解地址处理、计费切换与费用差异。
EIP-3860给合约初始化代码设了49152字节上限,工厂模式一次部署多个合约时容易顶到天花板。EIP-7903提议只删体积上限、保留逐字节计费,本文解释两道关卡各防什么。
EIP-7775提议引入BURN操作码,让合约直接扣减自身原生币余额完成销毁,与转给死地址的做法在语义和审计上有什么不同?本文按提案原文拆解行为规则与Gas构成。
EIP-7761为EOF合约引入EXTCODETYPE指令,用0、1、2区分外部账户、遗留合约与EOF合约,替代靠代码前缀猜测的做法。本文解释判型规则、7702委托处理与计费方式。
2019 年的 EIP-2014 想在 0x09 地址放一个叫 ESO 的系统合约,让所有智能合约用标准函数调用去查询链号、区块哈希等扩展数据,以后再加新数据只扩接口不加操作码。它的第一个功能是 getCurrentChainId,与同期 EIP-1344 的 CHAINID 操作码路线相互竞争。CHAINID 定稿生效,ESO 停在 Stagnant,而 0x09 这个地址后来另有其主。本文拆解这份落选设计。
SELFDESTRUCT 让合约可以销毁自身代码,也让依赖它的公共库存在被一纸调用连根拔起的风险。2020 年 9 月维塔利克提交的 EIP-2937 给合约一个选择权:执行 SET_INDESTRUCTIBLE 操作码后,本笔交易里谁也别想再销毁它。本文讲这份 Stagnant 提案怎么用交易级全局变量实现"不可毁承诺",它与整条禁用自毁路线的分歧,以及 2024 年后自毁语义收窄让它走向怎样的尾声。
2021 年 4 月提交的 EIP-3455 想给以太坊加一条 SUDO 操作码,让任何人都能指定任意地址作为发送方发起调用,理由是找回卡死在零地址、误转和被盗的资产。提案的状态停在 Stagnant,而它的安全考虑一节原文只写了一句"It will be fine"。本文拆解这条"万能找回指令"的动机、设计与它暴露的问题,并说明它与资产追回骗局在技术事实上的分界。
Solidity 自 0.8 起默认给每次加减乘都编译出一段溢出检查代码,一次安全检查加的安全加法约 79 gas,是原始加法 3 gas 的二十多倍。EIP-8219 提议给 EVM 加四条自带检查的算术指令 SAFEADD、SAFESUB、SAFEMUL、SAFEDIV:溢出、下溢、除零即以空返回数据回滚。本文讲清编译器的现状税、与 EIP-1051、EIP-6888 两条旧路线的分歧,以及为什么"贵所以不开安全"本身就是一种安全隐患。
EIP-2929 冷热价目表自 2021 年柏林分叉后基本未动,而以太坊状态早已大了一圈,状态访问操作相对变慢。EIP-8038(Review 阶段)把状态相关成本拆成访问、写入、建状态三个分量:冷账户访问从 2600 提到 3000,SSTORE 的写入附加费从等效 2800 提到 10000,EXTCODESIZE 与 EXTCODECOPY 为第二次数据库读取补价。本文逐项讲解这张新价目表与它背后的基准方法。
EIP-7784 提议新增 GETCONTRACT 操作码:压入一个字节码哈希,返回部署这段字节码的合约地址,查不到则返回零。配套要求是每个存入 EVM 的合约按 keccak256(字节码) 建索引。本文讲清内容寻址为何对审计、白名单与代码复用有用,规范里那些排除条款(自毁合约、空账户哈希)的意义,以及给全量合约建哈希索引的代价。