现在的 RETURN 只会从内存里取要返回的数据,数据若存在存储或瞬态存储里,得先花 Gas 搬进内存。EIP-7877 提出 SRETURN、TRETURN、RRETURN 三条新指令,把 RETURN 改名为 MRETURN,让数据从哪来回哪去。本文讲清现状浪费在哪与方案边界。
汇总与「EIP」相关的文章,帮助你系统了解该主题。
现在的 RETURN 只会从内存里取要返回的数据,数据若存在存储或瞬态存储里,得先花 Gas 搬进内存。EIP-7877 提出 SRETURN、TRETURN、RRETURN 三条新指令,把 RETURN 改名为 MRETURN,让数据从哪来回哪去。本文讲清现状浪费在哪与方案边界。
EOF 把智能合约字节码装进带清单的集装箱,EIP-7960 想在清单里再加一个字节:代码段类型。它让同一个容器里的不同函数段声明自己是 EVM 还是其他指令集(如 EVM64 甚至未来的 RISC-V)。本文讲类型段的设计、它服务的 64 位 EVM 设想,以及为什么版本号被改成 0x02。
EVM 的栈有 1024 格深,但 SWAP 和 DUP 指令只够得着顶部 16 个位置。EIP-663 提议三条新指令 SWAPN、DUPN、EXCHANGE,用操作数直接访问任意深度。本文讲这条限制怎么来的、三条指令怎么设计、为什么它必须等 EOF 一起上线。
EIP-7793 设想一种「条件交易」:只有出现在指定时隙、指定块内位置时才有效的交易,用来防止加密内存池被出块者抢跑。本文讲加密内存池的排序信任缺口、位置绑定的防夹逻辑,以及它为何仍是未激活的草案。
EIP-7516 给 EVM 加了 BLOBBASEFEE 指令(0x4a),让合约读取当前区块的 Blob 基础费,费用为 2 Gas。它随 2024 年 3 月的 Dencun 升级上线主网,让 Rollup 合约能信任地核算数据发布成本。本文讲它和 BASEFEE 的关系、适用边界和读数陷阱。
EIP-3198 给 EVM 加了 BASEFEE 指令(0x48),让合约在运行时读取当前区块的基础费。本文讲这条指令的来历、和 EIP-1559 的配套关系,以及拍卖、自动补差、动态定价这些真实用法和它的精度边界。
以太坊交易里附带的 calldata 按字节计费。EIP-2028 在 2020 年伊斯坦布尔升级中把非零字节的费用从 68 Gas 降到 16 Gas,让 Rollup 和链上数据发布的成本大幅下降。本文解释 calldata 计费结构、零字节与非零字节的区别,以及这笔降价对二层费用的连锁影响。
EIP-140 引入 REVERT 指令,让智能合约在失败时退回状态改动并返还剩余 Gas,还能带回一段错误数据。本文讲 REVERT 与 out of gas 的区别、返回数据的编码习惯,以及为什么钱包能弹出可读的失败原因。
EIP-145 给 EVM 增加了 SHL、SHR、SAR 三条位移指令,让左移、逻辑右移和算术右移不再需要用乘除法绕路。本文讲清三条指令各自移什么、符号位怎么处理、Gas 怎么收,以及为什么打包多个小整数时会用到移位。
以太坊验证者退出受每纪元churn上限限速,历史上按总质押除以2的16次方计算。EIP-7922提出动态退出速率:按256纪元为一个周期,把过去16个周期没用完的退出额度补给当下,同时守住任意两周窗口内的总退出量不变。本文拆解其安全推理与参数设计。