web3导航Web3 in HK · web3inhk

首页 / 新闻 / 交易断言

2026-10-05 · 技术

web3导航

签了名,结果却不是想要的:以太坊基金会谈「交易断言」

整理日期:2026-10-06。

以太坊基金会博客 2026 年 10 月 5 日刊出《How native transaction assertions could enforce a transaction's final outcome》,署名 Ethereum Foundation Access Cluster,归在研发栏目。文章出自基金会的 Trillion Dollar Security 计划,讲的是「盲签」和交易结果不确定的问题。

文章说的问题

文中写,签名锁定的是你发出的请求:调用哪个合约、转多少、附带什么数据。但请求执行时碰到的合约代码和链上状态,可能在签名之后变了,所以最终余额和存储的变化,可能和你以为的不一样。

文章把出错分成两类。一类是「意图不符」:被篡改的前端给出的签名请求,和用户以为在批准的不是一回事,文中举了 Bybit 和 BadgerDAO 两起事件。另一类是「结果不符」:用户签的就是看到的请求,但请求的限制条件或执行时的状态,仍然允许出现他不想要的结果。文中举的例子是一次 Aave 与 CoW 的抵押品兑换,界面已提示 99.9% 的价格影响,用户仍签了名。

现有防线到哪为止

文中列了几种已有做法。清晰签名(Clear Signing)把调用数据翻译成人能看懂的操作,但要靠解码准确,也要靠签名的人看出不对。交易模拟按某个链上状态预估结果,但上链前状态可能变,签的交易也可能和模拟的不是同一笔。合约里的最低成交量检查、Safe 钱包的守卫钩子,能在执行中拦截,但只能查事先选好的那几项,没法问「这笔交易还改了什么」。

交易断言想做什么

交易断言是把一条规则和交易一起签名。交易的动作跑完后,用只读逻辑对比起始和最终状态,不满足规则就把这些动作全部回滚。规则可以要求最少收到多少、限制花费上限、禁止新增授权、不许改账户的控制逻辑等。

文中特别提醒:规则从哪来和检查本身一样重要。被攻破的前端也能写出放行攻击的断言,有用的规则要来自用户单独确认过的意图、账户的长期策略,或被攻破的组件改不了的协议逻辑。

EIP-7906 是其中一种设计

文中把 EIP-7906(Transaction Assertions via State Diff Opcode)作为一种可能的做法。它建立在 EIP-8141 的帧交易上,在交易末尾加一个只读的检查帧,并新增三条 EVM 指令,用来列出净状态变化和事件、读取指定地址和存储槽的前后值、复制事件数据。规则不满足时,执行主体回滚,但交易仍留在区块里、标记为失败,付 gas 的一方照付已消耗的 gas。

进度方面,文中写:EIP-8141 已排进 Hegotá 升级;EIP-7906 处于「考虑纳入」(Considered for Inclusion),尚未确定进入这次升级。文中也写明,EIP-7906 不强制每笔交易都带断言,钱包和协议要自己保证带上,已经部署的不可升级合约加不了这层检查。

跟普通用户有什么关系

这是研究和设计阶段的文章,不是已上线的功能,现在不需要做任何操作。眼下能做的仍是签名前看清楚:对方要的是转账、授权,还是改合约。本站的两篇说明可以一起看:授权之后,对方能拿走什么、NFT 页面最常见的不是买,是签错。

来源:blog.ethereum.org/2026/10/05/transaction-assertions;EIP 原文:eips.ethereum.org/EIPS/eip-7906

风险 这是基金会的研究文章,设计和进度可能再改,以基金会与 EIP 页面为准。不构成交易建议。