普通地址也能带上代码:EIP-7702 会怎样改变 NFT 的日常操作
长期以来以太坊上有一道隐形的墙:普通地址(EOA)不能执行逻辑,复杂操作全得靠钱包一笔笔转发。EIP-7702(Set Code for EOAs)改变了这一点——它引入一种新交易类型,让普通地址可以“挂上”一段合约代码,之后这个地址的行为可以像智能账户一样被编程。提案由 Vitalik Buterin 等人撰写,2024 年 5 月 7 日创建,当前状态为 Final,属于 Core 类标准。对 NFT 持有者,这意味着一些过去只有机构或多签团队才做得起的操作,正在下放到普通个人地址。本文按提案机制解释它改变了什么、没改变什么。
挂上去的到底是什么
严格说,地址并没有变成合约。EIP-7702 写入的是一条指向某个实现合约的委托记录:执行到这个地址时,按指向的代码运行,而账户的私钥与所有权属性仍然保留。理解这一层很关键——你的地址从此“会用工具”,但你本人还是地址的主人;委托可以随时覆盖或清除,代码是外挂而不是换人。对熟悉 ERC-6551 的读者,可以再补一句对比:6551 是给 NFT 开一个专属账户,7702 是让你现有的账户长出逻辑,两者面向的问题不同。
NFT 操作上能感知到的变化
第一是批量。带代码的地址可以在一笔交易里循环调用多个合约:一次交易批量认领空投、批量取消授权、批量改挂单价格,过去要签十次的流程压缩成一次确认。第二是费用表达。挂上代码后,地址的操作可以走智能账户风格的通道,配合 paymaster 等机制,为某些 NFT 交互设计代付路径有了协议层支点——具体哪些应用支持、代付成本如何,属于产品层信息,需要按各产品文档核验。第三是验证灵活性:地址可以内置更复杂的签名策略(多签门限、每日限额),为“被盗后损失有上限”这类防御设计提供了新落点。
同一枚硬币的另一面
可编程意味着可执行恶意逻辑。最直接的坑是委托目标选择:委托记录指向哪个合约,那个合约的代码逻辑就代理了你的地址行为。钓鱼网站诱导你签一笔“设置代码”交易、把委托指向攻击者合约,理论上比骗一次签名更持久——一次签错可能造成长期暴露,直到你主动清除委托。所以规则要更新:看到需要“设置账户代码或委托”的确认弹窗,把它当作改密码级别的敏感操作对待——设置委托本身就是一笔要由该地址私钥签名的交易,委托记录写入世界状态后持续生效,直到被新委托覆盖或被主动清除,持久性既是功能也是风险面;定期用浏览器查自己地址的委托指向是否仍是自己挑选的官方实现;不再使用智能能力时,主动清除委托记录,让地址回到最朴素的 EOA 状态。
上手建议
- 先区分三件事:私钥还在不在自己手里、委托指向谁的合约、合约提供了什么策略,三者独立。
- 从小额与低风险合约起步试用批量功能,大额主账户优先保守。
- 涉及 NFT 所有权授权时,批量能力不改变授权的敏感性质,能单标的就不批量全仓。
- 任何声称“升级地址自动获得防护”的话术都先查证实现合约源码,协议能力不等于任何具体产品安全。
本文只解释协议机制与防御实践,不构成投资建议;网络升级与各产品的具体支持情况请以其官方文档为准。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。