函数调用完只为了返回,这次调用就白搭了一层登记。EIP-6206 给以太坊对象格式加了一条 JUMPF 指令:跳到另一个代码段执行,但不登记返回地址,等于告诉机器'这段代码替我收尾,不用再回来'。配合'永不返回'的函数声明,编译器可以把错误处理公共段写得既省又干净。这份2022年底的提案停在Stagnant。本文讲清它的机械原理和省钱的账。
汇总与「以太坊」相关的文章,帮助你系统了解该主题。
函数调用完只为了返回,这次调用就白搭了一层登记。EIP-6206 给以太坊对象格式加了一条 JUMPF 指令:跳到另一个代码段执行,但不登记返回地址,等于告诉机器'这段代码替我收尾,不用再回来'。配合'永不返回'的函数声明,编译器可以把错误处理公共段写得既省又干净。这份2022年底的提案停在Stagnant。本文讲清它的机械原理和省钱的账。
BLOCKHASH指令只答得出一笔调用前256个区块内的哈希,且每个客户端都得自带一套查历史哈希的代码。EIP-210在2017年提议把区块哈希搬进地址0xf0处的一个状态合约:每块由系统调用代写一笔,指令改成调用合约查询,顺带把可查范围从256块拉长到几乎无限。这份由Vitalik起草的提案停在Stagnant,但它想消掉的实现负担,2025年的EIP-2935用另一条路真的消掉了。本文讲清蓝图本身与两次尝试的差别。
以太坊的区块头里有一个叫withdrawals_root的字段,有趣的是执行层和共识层说的不是同一个东西:一边是Merkle Patricia树的根,一边是SSZ序列化算出的根,同名二物。EIP-6465在2023年2月提议统一为SSZ:提款列表改用渐进容器编码,执行层区块头的提款根从MPT迁移到SSZ。这份提案停在草稿。本文讲清这个命名分裂怎么形成、两种编码差在哪、以及为什么要费这个劲去合并。
以太坊改进提案里引用的外部文献,不是想引谁就引谁。EIP-5757在2022年9月定下规矩:被引用的发布方必须能让每一版资源被唯一指认、有可靠的可得性履历、且访问不收费,不达标就从白名单除名。这份由仓库编辑者起草的Meta提案状态Final。本文讲清一个开源标准为什么要把'链接质量'当规范问题管起来,以及三条硬要求各防什么。
OP Stack fault proofs 关系到 L2 提现证明、状态挑战和信任边界。本文用官方文档解释它能降低什么风险,以及用户仍需核验哪些状态。
以太坊工作量证明时代,难度调整只看相邻区块的时间差,故意压着不发块再抢发能抬高叔块率、变相压低难度。EIP-100把含叔块的区块按更高权重计入难度公式,让出块节奏无法被叔块操纵。本文讲清这条2016年提案的算式改动、它堵住的漏洞,以及它在权益证明时代成了历史。
EVM操作码空间里,0xfe被正式指定为INVALID无效指令:碰到它执行就立刻中止、Gas全部烧完。EIP-141把这件事写成规范只有几行字,但它给调试、编译器防御和合约保险丝提供了一个统一的中止信号。本文讲清0xfe的来历、它和REVERT的分工,以及为什么一个永远不会被正常执行的操作码值得单独写一条提案。
以太坊每次协议升级背后都有一份元提案:定代号、列时间表、登记收录哪些EIP、追踪从提案到进主网的每一步。这套写法出自2017年的EIP-233。本文讲清硬分叉元提案的结构、时间线上四个关键节点、EIP在开发者会议里的三种去向,以及为什么后来那些大升级都照这个模板立档。
合约调用另一个合约后,返回数据不必提前猜长度也能完整取回,靠的是EIP-211加的两条指令:RETURNDATASIZE量尺寸、RETURNDATACOPY搬数据,数据存在一块每次调用后自动覆写的虚拟缓冲区里。本文讲清这套机制补上的坑、和calldata相似的记账方式,以及它如何让通用转发合约这类模式成为可能。