我们计划通过一系列文章向读者介绍即将在以太坊下一个重要升级中激活的 EIP-7702 提案,并探讨该提案将会如何影响未来智能账户的功能设计与安全考量。
预计于今年 4 月到来的以太坊 Pectra 升级,将成为以太坊生态的又一个重要里程碑。作为智能合约开发者,我们对本次升级中即将激活的 EIP-7702 提案充满期待。EIP-7702 定义了一种全新的交易类型,即 “Set Code 交易”。通过该交易,用户可以将任意智能合约的执行逻辑 “映射” 到外部账户(EOA)上。
这意味着,用户只需通过签署一个 Set Code 交易,便能使现有的 EOA 账户不仅具备智能合约的执行逻辑,同时也保留原有的 EOA 特性(例如通过私钥签名交易)。这项升级是实现以太坊 “终极账户抽象” 目标的重要一步,将极大地促进智能账户的广泛应用。
在接下来的一系列文章中,我们将从开发者的视角出发,围绕以下几个方面深入分析 EIP-7702 对智能账户钱包带来的影响,并探讨相应的安全性问题和解决方案。
EOA 私钥的新角色
在 EOA 被赋予智能合约逻辑成为 Smart Account 后,其私钥即成为账户的“超级管理员”,具有两项关键权限:
使用私钥签名,可以吊销或更改映射到该账户的智能合约,从而改变账户的执行逻辑;
使用私钥签名,可以直接转移账户下的 Eth 或 ERC20 代币,绕过合约逻辑设置的限制。
此时,账户中的资产将拥有两个“管理员”:新增的智能合约逻辑以及原有的私钥,而私钥拥有更高权限。这随之带来了两个重要的考量:
账户下关键数据的存储
由于映射的智能合约逻辑可随时更换,第一个需要解决的问题就是如何处理账户已有的关键数据和合约状态。新合约可能读取或覆盖任何旧合约的数据,这会产生 “存储冲突” 的风险。如果你对 “存储冲突” 的概念还不熟悉,这篇文章有详细介绍。
也许开发人员会认为 “存储冲突” 并非一个难以解决的问题,因为在开发“可升级合约”时,有很多范式可以很好的避免这个问题,比如我们可以使用 ERC-7201 或者类似的方法,使用存储命名空间来避免冲撞。但我们要强调的是,“切换账户代码” 和 “升级账户合约” 的本质不同。升级合约通常是在可信、相同的钱包服务供应商代码上进行功能迭代,信任链清晰;而切换账户代码则可能涉及不同甚至恶意的钱包供应商,因此仅防止存储冲突是不够的,还需要深入考虑如何防范恶意代码对账户关键数据的针对性破坏。
我们对如何解决此问题有一些自己的设想和方案,将在后续文章中详细讨论。
新的账户控制模式
“无钥即无币”(Not Your Keys, Not Your Coins) 是加密行业广泛流传的安全原则。在自托管的需求下,使用硬件冷钱包来保存私钥则是一个良好的安全实践,但这同时也使交易签名变得复杂,用户需随身携带硬件设备,这让许多用户感到不便。
在 7702 升级之后,我们有了一个全新的账户控制方式:用户可以将拥有“超级权限”的私钥放置在硬件冷钱包中,同时使用基于合约逻辑的 “分级权限” 来控制账户上的资产,这样一来,用户不仅拥有了更佳的安全实践,同时也平衡了良好的钱包使用体验。
简洁与强大并存
7702 是一次对 EOA 的升级,“原生EOA” 所具有的功能在变成 “7702-EOA” 后保持不变。我们预测,对于已拥有 EOA 的用户,在多数场景下仍会按照原有方式使用钱包,但在某些“原生 EOA” 无法实现的特殊场景下,“7702-EOA” 将提供更好的使用体验:
1、批量调用合约
习惯使用 DEX 来做链上交易的 EOA 用户可能会感受到,当前的使用体验并不十分理想,因为必须发送 approve 和 swap 两笔交易才能实现代币兑换,这不仅需要支付更多的 gas,而且有时还可能会因为 approve 交易的延迟而导致币对的价格滑点增加。
“7702-EOA” 则允许通过合约调用的批量处理,将 approve 和 swap 合并为单笔交易,从而大幅节省 gas 支出。我们有一个通过批量调用合约以大幅节省 gas 的成功案例,将在后续文章中分享相关的统计数据和优化成果。
2、Gas 抽象
在“原生 EOA”中,账户需拥有足够原生代币支付 gas,才能发起转账。这往往导致初次使用EOA的用户面临因原生代币不足而无法转账 ERC-20 代币的尴尬。“7702-EOA” 可以通过Gas 抽象实现由第三方替用户发起交易并支付 gas。 这种 gas 代付的过程可以是无偿或者有偿的,用户和第三方可灵活决定费用结算方式(使用原生代币、ERC-20 代币或是法币),这极大优化了链上交易体验。
3、利用会话(Session) 来实现账户资产访问权限的下放与隔离
在 “7702-EOA” 上用户可以通过签署 “会话(Session)” 来灵活的实现账户资产访问权限的下放与隔离。用户可以在每个会话里加入精细的控制条件如:有效时间、资产类别、访问者地址和数量等限制。
会话能在保障账户安全的前提下提供便捷的权限管理,适用于定期转账或授权 dApp 进行定投等多种场景。
4、在“优化 Gas 开销”上的考量
虽然优化 Gas 开销并非 7702 本身功能,但是我们仍然想要在接下来的文章里把它提出来讨论。因为我们知道,最小化 gas 开销是推进大面积采用的关键,绝大部分用户对交易成本敏感,如果合约账户会消耗过高的 gas,许多用户将会放弃使用合约而继续停留在 “原生EOA” 账户的生态之中。
在后续的文章里,我们将讨论如何设计 7702 账户合约以及相应钱包服务,在保证最小化 gas 成本的前提下实现上文提到的强大功能,以推动智能账户的广泛采用。
总结
EIP-7702 标志着以太坊生态对账户概念的重大转变,它弥合了 EOA 与智能账户之间的差距。我们的观点是,理想的智能账户应在复杂性和功能性之间取得平衡——简洁而强大。合约批量调用、Gas 抽象、基于会话的权限管理和 Gas 优化等特性,不仅使“7702-EOA”更加实用,也使其成为 “原生EOA” 的有力替代。同时,谨慎的存储管理和精细的账户控制模式对维持安全性、防止滥用也至关重要。
我们的最终目标是为习惯使用 EOA 的用户提供一个平滑的过渡路径,并在相应场景下释放智能账户的全部优势。本系列的后续文章将深入探讨以上提到的特性,以及我们对相关权衡取舍的看法。
© 2025 OKX。本文可以全文复制或分发,也可以使用本文 100 字或更少的摘录,前提是此类使用是非商业性的。整篇文章的任何复制或分发亦必须突出说明:“本文版权所有 © 2025 OKX,经许可使用。”允许的摘录必须引用文章名称并包含出处,例如“文章名称,[作者姓名 (如适用)],© 2025 OKX”。不允许对本文进行衍生作品或其他用途。