EIP-7702 是什么?地址临时借用合约逻辑会发生什么 图 1
EIP-7702 是什么?地址临时借用合约逻辑会发生什么 · 图 1

一句话理解

EIP-7702 让普通私钥地址暂时借用一段智能合约的逻辑来执行操作:地址不变、私钥仍然握着,但这个地址发起的交易可以表现出批量、代付等合约账户才有的能力。随以太坊 Pectra 升级于 2025 年 5 月 7 日在主网激活,这是官方公告记载的历史事实。

为什么需要它

本文机制示意(AI 生成概念图)

以太坊的账户世界里长期存在两套物种。外部拥有账户用一个私钥签名一笔交易,规则简单但功能固定:想批量操作只能签很多笔,想设置花费限制做不到。智能合约账户灵活得多,可第一次使用往往需要别人代发、迁移资产还要额外手续费,用户上手门槛高。EIP-7702 的思路是给老地址一个可撤销的外挂:地址通过一次授权签名,声明自己的交易由某个指定合约代为执行逻辑,之后这个地址发出的交易进入该合约的代码路径,可以一次完成批准加转账、由第三方代付手续费,或者用会话密钥签小额操作。

授权如何生效又如何失效

这份授权写在交易里:地址签名指明要委托给哪个合约地址。协议把它记录在账户的委托标记里,此后来自该地址的交易在 EVM 执行时跳转到被委托合约的代码;被委托的地址本身必须是一段真正的合约代码,规范禁止指向预编译合约等保留地址。关键性质是临时且可撤销:当这个地址发起一笔自己签名、委托字段为空的取消交易,或按规范所说在序号变化等情形下委托自然失效时,地址就回到纯私钥状态。也就是说,委托不是把资产转走,也不改变地址本身,资产仍然挂在这个地址名下,钱包应用通常也继续把它的余额照常显示。

和 ERC-4337 是什么关系

两者常被放在一起比较。ERC-4337 要求先把资产放进一个新的智能合约账户,验证和打包走专门的通道;EIP-7702 不搬家、不换地址,直接给现有地址挂上合约逻辑。一个偏换一个新账户,一个偏给旧账户装插件。两者也能配合:7702 委托指向的实现完全可以复用 4337 的智能账户代码框架,让同一套账户逻辑在两条通道里都工作。

委托状态下的工程连锁反应

委托机制还带来一些工程层面的连锁反应。委托状态下,钱包发起交易前可以查询账户代码判断该走纯私钥路径还是合约路径——按规范,委托账户对外会报告一段以 0xef0100 打头的特殊标记,浏览器和反入侵工具都能直接读出某地址当前指向哪个合约,这让被劫持委托变得可监测,和私钥泄露那种无痕失窃形成对照。对开发者而言,同一个地址在委托前后的行为差异必须当成两种情形测试,比如事件日志里出现的调用方可能从裸地址变成经合约转发的调用。

日常核查与撤销步骤

把委托当配置项管理,动作就很具体:想确认状态,用任意区块浏览器或钱包接口读该地址的账户代码,看是否含委托标记以及指向的合约地址是否认识;想撤销,向自己发起一笔清空委托的交易,这笔交易本身用原私钥签名即可完成,不需要经过被委托的合约;想换供应商,先撤销再重新授权,避免两份委托叠加造成的认知混乱。警惕任何诱导你签授权消息的弹窗——委托目标地址一旦指向攻击者合约,你此后每笔签名都可能被转译成它预设的动作,而链上记录里这笔授权是正常交易,客服和回滚都帮不上忙。

风险与提醒

委托指向的合约拥有执行这段交易逻辑的能力,这是双刃剑。钓鱼攻击的一种新形态就是骗用户签一份指向恶意合约的授权,此后该合约可能按预置逻辑转走这位用户授权范围内的资产——授权签名同样是签名,界面若不提示这笔签名委托了什么合约,用户就得自己核对。选择钱包和应用时,应确认它们展示的委托目标地址与官方公布一致;不需要的委托及时撤销,并把地址当前指向的合约当作常规体检项。规范文本、参数与边界情形以官方 EIP 和客户端文档为准。本文为机制科普,不构成投资建议,也不构成任何产品推荐。