以太坊虚拟机给执行栈设了 1024 项上限,每项 32 字节;调用不是复用同一张栈而是新开栈帧,配合 EIP-150 留下的每层最多带走 63/64 剩余 Gas 的规则,共同约束递归与嵌套深度。本文讲这张栈的结构、越界会发生什么,以及它和比特币脚本一千项栈上限的设计对照。
汇总与「以太坊」相关的文章,帮助你系统了解该主题。
以太坊虚拟机给执行栈设了 1024 项上限,每项 32 字节;调用不是复用同一张栈而是新开栈帧,配合 EIP-150 留下的每层最多带走 63/64 剩余 Gas 的规则,共同约束递归与嵌套深度。本文讲这张栈的结构、越界会发生什么,以及它和比特币脚本一千项栈上限的设计对照。
以太坊 P2P 同步里,区块头、区块体这类请求响应消息在 eth/66 之前不携带任何编号,全靠响应按请求原序返回来对号入座。EIP-2481 给每对消息加了 request id 字段,让响应端可以并行处理、乱序完成。本文讲清这套编号机制解决的具体故障、它与 eth/65 公告机制的分工,以及它在协议版本谱系里的位置。
EIP-1474 曾在 2018 年尝试给以太坊节点的 RPC 方法立法,统一 Quantity 与 Data 的编码规则,最终以 Stagnant 收场。真正接管这件事的是 execution-apis 仓库的活文档与跨客户端一致性测试。本文讲清立法失败的细节、eth_call 等方法为何跨客户端一致,以及 WebSocket 订阅与 trace 家族这些法外之地。
EIP-1459 定义了以太坊的 DNS 节点发现方案:把签名的节点记录名单装进域名 TXT 记录,客户端拿内嵌公钥验证整棵默克尔树。本文拆解 enrtree URL、记录结构与签名链,对照 geth 源码里的 ethdisco.net 用法,并说明它与比特币 DNS 种子、ENR 主动发现的分工差异。
EIP-1052 引入的 EXTCODEHASH 用一个哈希值把账户状态切成三类:完全不存在、有记录无代码、有合约。它的定价史更像一部状态访问 DoS 防御史:400 gas 起步,事故后升到 700,柏林升级再改成冷热分层。本文拆解三种返回值含义,并解释 EIP-3607 与 EIP-7702 如何依赖同一个哈希值。
EIP-2315 只加两个操作码,就给 EVM 配上一条不参与共识的返回栈,让合约内函数调用告别手工压栈跳转。它最终随 EOF 提案整体 withdrawn。本文拆解 RJUMPSUB 与 RETURNSUB 的机制、返回栈不进共识的设计取舍,以及它与 EOF、CALL 帧栈的关系。
BLOCKHASH 只能查最近 256 个区块,实现上长期是绕开状态的特例路径。EIP-7709 草案让这个操作码改从 EIP-2935 系统合约的存储里解析区块哈希,gas 随之按状态访问冷热计价。本文讲清窗口与底仓的区别,以及统一 witness 机制对可验证执行的长尾影响。
EIP-8037 草案把创世、建新账户、首次写存储槽这些制造状态的开销从执行费用里剥出来,按每状态字节 1530 gas 统一计价,并走独立的状态气维度。本文拆解 CPSB 参数与新旧对照表,解释状态膨胀为什么被视为扩容的第一瓶颈,以及这类定向重定价的边界。
以太坊每槽提议者提前公示,换来的是可被顺次打击的靶子。EIP-7441 的 Whisk 方案让 16384 个可重随机承诺在一天的 8192 个槽里被持续搅拌,每次只动 128 个并附零知识证明,最终名单除本人外无人先知。本文拆解 tracker 承诺、RANDAO 冷却期与匿名集大小的工程取舍。
以太坊有一项仍是草案阶段的提案 EIP-7999:用单一 max_fee 覆盖 gas、calldata 等多种资源,协议按各维度实际用量计价,上限内跨资源互通。本文按提案原文拆解它改什么、calldata 为什么打头阵、草案阶段该用什么心态读。