钱包升级开启智能账户之前:EIP-7702 委托绑定的风险边界与解绑自查 图 1
钱包升级开启智能账户之前:EIP-7702 委托绑定的风险边界与解绑自查 · 图 1

不少钱包在近两年推出了所谓智能账户或账户升级功能,其中一部分底层依赖 EIP-7702 这个以太坊改进提案。它允许用户在一次签名中,把自己外部拥有账户(EOA)的执行逻辑临时委托给一段合约代码。这个设计本身有正当用途,比如批量操作、代付手续费、社交恢复模块。但对普通持有人来说,它打开了一个和以往都不同的风险面:委托指向哪段合约,由你的签名决定,而合约代码是可以有后门的。

先看机制。EIP-7702 规定,EOA 可以在一条特殊类型交易里附带一份委托指示,内容是某个合约地址。此后这笔交易执行时,你的账户会按那个合约的逻辑行事。也就是说,签下一份委托,等于把你账户在链上的行为解释权交给了一段你未必读得懂的代码。如果这段代码里藏着转账逻辑、隐蔽的授权调用,你的账户会在每次触发时替攻击者办事。委托不同于撤销,也不同于一次性的许可:它是持续生效的状态,直到你自己覆盖或清除它。

这里必须把它和熟悉的 approve 授权划清界限。Approve 针对的是某个代币合约,允许指定地址动用你的一定额度的币,你在区块浏览器的授权管理里能查到、能撤销。委托改变的是账户本身的行为模式,很多传统的授权撤销工具看不到它,也不提供一键解除。正因如此,骗子最近的话术也开始蹭这个概念,常见版本有:帮你升级钱包解锁新额度、代付 Gas 需要你先绑定一个加速模块、账户被冻结需要签名解冻。凡是让你在一个陌生页面签一份带合约地址的委托,而对方催促你马上确认的,都应当先停手。

那么普通用户怎么自查?第一步,看钱包里是否已经存在委托。如果你的钱包版本支持委托状态展示,通常能在账户或高级设置里看到当前委托目标;也可以自行在支持该交易类型的区块浏览器上查看你的地址最近的交易类型。第二步,核对委托指向的合约地址:从官方渠道找到钱包服务商公布的合约地址逐字符比对,不要点页面提供的查看按钮跳去陌生站点。第三步,如果确认不需要这项功能,用钱包内置的清除或重置功能发出覆盖交易,把委托字段清掉;发出后在浏览器确认状态已更新。整个操作只需要 Gas,不需要向任何地址转账,任何声称解绑需要先转一笔验证金的都是诈骗。

预防清单很短:升级钱包版本后,第一次弹出账户升级邀请时先读它要签什么,看到委托、委托目标、authorization 这类字样的签名请求,先回到官方文档确认这个功能是不是你主动开启过的;把大额资产留在没有启用这类实验性功能的账户里;对小规模尝试使用的账户设定余额上限。签名类新功能没有绝对安全,能不能随时看懂、随时撤回,才是你该看重的边界。

最后把判断框架说透:委托类功能争论的不是它安不安全,而是风险和收益是否匹配。对天天做复杂交互的高级用户,批量签名和代付确实省下大量摩擦;对一个一年只转账几次的持有人,同样的功能只增加了一张被话术利用的嘴。所以正确姿势不是拒绝升级,也不是无脑开启,而是按使用频率分层:把日常小额操作账户留给功能实验,把长期储存账户保持最简单的形态。开启任何委托前问自己三个问题——我是否主动需要这个功能、出错后我是否知道去哪里查看和解绑、解绑路径是否在我自己手里。三问有一个答不上来,就先保持原状。钱包界面把你引导向更顺滑的签名体验,这本身是产品进步;但顺滑的代价是把一部分原本由 Gas 费和操作复杂度天然拦截的决策,变成了你的一次点击。越是省掉中间确认的设计,越需要用户在签名前自己把确认补回来。这也是所有账户抽象叙事下普通持有人最朴素的安全模型:功能可以新,纪律必须旧——小额先行、地址逐字符核对、陌生签名不落笔、资产分层存放。把这四条守住,EIP-7702 与它的后继提案对你而言只是工具箱里多了一把新扳手,而不是床下多了一个未知开关。