合约里查"谁发起了这笔交易"有两个答案:tx.origin 给最初的点火者,CALLER 给直接调用者,钓鱼合约正是利用两者的落差骗过授权检查。2024 年 3 月的 EIP-7645 提议让 0x32 操作码永远返回与 0x33 相同的值,把这块运营了近十年的技术债直接抹平。本文讲清两个操作码的分工、钓鱼利用路径,以及这份 Stagnant 提案与账户抽象的关系。
合约里查"谁发起了这笔交易"有两个答案:tx.origin 给最初的点火者,CALLER 给直接调用者,钓鱼合约正是利用两者的落差骗过授权检查。2024 年 3 月的 EIP-7645 提议让 0x32 操作码永远返回与 0x33 相同的值,把这块运营了近十年的技术债直接抹平。本文讲清两个操作码的分工、钓鱼利用路径,以及这份 Stagnant 提案与账户抽象的关系。
2021 年 4 月提交的 EIP-3455 想给以太坊加一条 SUDO 操作码,让任何人都能指定任意地址作为发送方发起调用,理由是找回卡死在零地址、误转和被盗的资产。提案的状态停在 Stagnant,而它的安全考虑一节原文只写了一句"It will be fine"。本文拆解这条"万能找回指令"的动机、设计与它暴露的问题,并说明它与资产追回骗局在技术事实上的分界。
为什么规范写法是 Ethereum Mainnet 而不是 ethereum mainnet?2019 年的 EIP-2228 把链号 1 网络的正式名称钉成一个专有名词,连大小写都写进测试用例,还附了商标提示。本文拆解这份 Final 提案的动机、MetaMask 旧标签的故事,以及"网络叫什么"与"你在哪条链"两件事的分工。
BALANCE 其实要写地址参数、SHA3 算的是 Keccak-256、NUMBER 指的是区块号——2017 年的 EIP-1803 给一批"名不副实"的以太坊操作码开出了改名清单,包括 KECCAK256、BLOCKNUMBER、GASLEFT。本文逐项拆解改名的理由、它只动汇编助记符不动数字编码的设计,以及哪些名字今天已经悄悄成真。
以太坊节点九成以上的读请求走 JSON-RPC,但 2019 年有一份 Final 之外的正式提案想把查询方式整体换成 GraphQL:你要什么字段,节点就只取什么数据,连跨重组的孤块都能点名去查。本文拆解 EIP-1767 的 schema 设计、8547 端口约定与它停在 Stagnant 的现实原因。
网页想知道链换了、账户换了,靠的是监听钱包事件。而"监听"这件事本身的接口,在 EIP-1193 里被直接规定为两个方法:on 与 removeListener,出处是一份更早的 Final 提案 EIP-2700。本文拆解这份只定义骨架、不管事件内容的提案,以及它为何把语义全部留给别人。
一台浏览器装两个钱包扩展,网页可能连到错误的那一个——因为所有钱包都往同一个全局对象上挤。2022 年的 EIP-5749 提出改用注册表式的 window.evmproviders,让每个钱包带名称、图标和唯一编号入驻,网页列出菜单由你选。本文拆解这份 Final 提案的结构、uuid 规则,以及它与 EIP-6963 的关系。
2020 年 9 月,维塔利克等五人提交 EIP-2938,主张不靠任何中间层,直接给以太坊加一种新交易类型,让合约账户自己付手续费、自己验证签名。它引入 PAYGAS 操作码和一个全 F 的入口常量,最终因内容严重过时被标记撤回。本文拆解这套协议层方案的设计与它停下的位置。
审计报告里的 SWC-101、SWC-107 编号来自 EIP-1470 提出的智能合约弱点分类法,它仿照 CWE 给合约缺陷起名分门。本文讲这套分类的目标与注册表现状:EIP 停在 Stagnant,注册表 2020 年后不再新增条目,内容并入 EthTrust 等后继标准,以及钱包用户为什么要读得懂这些编号却不必依赖它们。
签名之外,钱包还能替你解密数据、签发 DID 凭证吗?2020 年的 EIP-2844 给 JSON-RPC 加了 did_authenticate、did_createJWS、did_decryptJWE 三个方法,让应用通过去中心化标识发现你的公钥。本文拆解这套 JOSE 语义与权限提示设计,并说明它为何停在 Stagnant。