EIP-2464 给 eth 协议加了三个消息:NewPooledTransactionHashes 只公告交易哈希,GetPooledTransactions 按哈希批量索取,PooledTransactions 应答。交易传播的带宽从随对等方数量线性增长降到平方根量级,冷启动交换从几十到上百 MB 缩到约内存池大小乘 32 字节。本文拆解这套公告-拉取机制与前代全量广播的差别。
EIP-2464 给 eth 协议加了三个消息:NewPooledTransactionHashes 只公告交易哈希,GetPooledTransactions 按哈希批量索取,PooledTransactions 应答。交易传播的带宽从随对等方数量线性增长降到平方根量级,冷启动交换从几十到上百 MB 缩到约内存池大小乘 32 字节。本文拆解这套公告-拉取机制与前代全量广播的差别。
Yul 是 Solidity 家族的低级中间语言:功能式语法贴近栈机,既是内联汇编的书写格式,也是基于 IR 的新代码生成路径的落地目标。本文讲它和 Solidity、十六进制字节码的三层关系,为什么中间表示让优化与跨方言复用成为可能,以及内联汇编块里哪些护栏依然存在。
两条账户抽象路线在 Pectra 之后同时在线:ERC-4337 用 UserOperation、独立验证与 EntryPoint 合约搭了一条普通交易之外的旁路;EIP-7702 让原私钥地址临时挂上一段合约代码,交易仍走普通通道。本文按交易形态、验证入口、升级路径和撤销方式四项对比,给出选型的判断线。
以太坊虚拟机给执行栈设了 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 机制对可验证执行的长尾影响。