合约字节码尾部常混着构造参数、常量与编译器元数据,分析工具却得逐字节猜测哪里是指令哪里是数据。EIP-2327 提议增加一条 BEGINDATA 操作码:它出现之后的一切字节都声明为数据,跳转器不许跳进去,静态分析器不必再猜。本文讲清这条分界线的规则、与子程序提案的渊源和被乐观汇总验证的旁支需求。
汇总与「以太坊」相关的文章,帮助你系统了解该主题。
合约字节码尾部常混着构造参数、常量与编译器元数据,分析工具却得逐字节猜测哪里是指令哪里是数据。EIP-2327 提议增加一条 BEGINDATA 操作码:它出现之后的一切字节都声明为数据,跳转器不许跳进去,静态分析器不必再猜。本文讲清这条分界线的规则、与子程序提案的渊源和被乐观汇总验证的旁支需求。
ZK Rollup 把许多交易折成一个证明,但逐笔验证的思路没有利用交易之间的关系。EIP-7911 提出用感知机树把多笔交易压缩成统一证明:树节点分类交易、路径长度度量相似度,相似度够高的交易搭同一张证明。本文按提案原文拆它的构造、验证路径,以及为什么它至今只是智慧合约层级的草案。
大多数钱包与应用从少数几家RPC供应商拉数据,数据错了、漏了,用户无从察觉。EIP-7919 是一份元提案:把改造区块、交易与收据数据结构的若干改进捆在一起,目标是让RPC响应能附带正确性与完整性证明。本文拆解它点名的三个问题面与捆绑逻辑。
无状态以太坊的区块凭证里,代码是仅次于证明哈希的第二大负担。EIP-2926 提议把每段合约代码切成31字节一页、按页建默克尔树,执行时只带上被碰到的页。本文讲清分块方案里第一指令偏移、页大小权衡与全量迁移的工程量,以及它和状态树改造的先后关系。
合约调用自己时,代码早就在内存里,却仍按加载新合约的标准收七百Gas。EIP-1380 提议当调用目标就是调用者本身时把费用降到40,让编译器敢用CALL而不是JUMP实现内部函数调用。本文解释这两种写法在上下文、栈深度与静态分析上的真实差异。
预编译合同没有代码、没有状态,可每次通过静态调用访问它,都要按加载合约代码的标准收七百Gas基础费。EIP-2046 提议把预编译地址上的静态调用基础费从700降到40,并解释为什么这个价格差是当年防DoS改价的误伤。本文逐层拆开调用费、预编译与这段定价历史的来龙去脉。
2020 年 6 月,一条叫 Yolo 的以太坊临时测试网快速上线:只为联调两个候选改进,明确写着随时抹掉。这份记录型提案 EIP-2657 留下了它的配置清单、客户端参与矩阵与水龙头入口。本文借此讲清临时测试网与永久测试网的分工,以及快闪链在协议研发流水线里的位置。
以太坊执行引擎和虚拟机实现之间有一套叫 EVMC 的接口标准,EIP-2003 把其中的预编译合同实现单独立成模块规范:客户端不必实现整套宿主接口,只要按能力声明接入。本文讲清这套插头式分工的动机、校验规则与失败语义。
EIP-3267 提出把一部分交易手续费长期锁定进一个由治理分配的合同,用于奖励公共物品生产者,相当于给未来的生态贡献者提前发工资。本文拆解这份 2021 年提案的参数骨架、它对供应量的设想、与二次方募资的对照,以及为什么它停在停滞状态。
以太坊每个区块的Gas上限一直由验证者用客户端配置投票缓慢推动,从没被协议写死过。EIP-3756 提议给这个数字加一道3000万的协议级天花板:往上不许超,往下随时降。本文解释Gas上限为何不是越大越好、天花板防的是恶意攻击还是良性膨胀,以及为什么作者坚持保留下调的自由。