跳至内容
0%

EIP-7702:Pectra 升级后 Ethereum 开发者快速集成指南

Lisa Ma headshot

作者 Lisa Ma

发布于 2025年5月19日2 分钟阅读

Ethereum Pectra 升级中的 EIP-7702,为 EOA 提供智能账户能力
EIP-7702 为 EOA 提供智能账户能力

太长不看?我们懂。可以看看我们在 X 上的系列内容,里面有简短的讲解和演示。

Ethereum 的路线图正朝着主流加密货币采用迈进,而**EIP-7702是其中的重要一环,包含在Pectra 硬分叉中。这次升级标志着 Ethereum 迈向账户抽象**旅程中的一个关键节点,旨在让链上体验更流畅、更智能、更易用。具体来说,EIP-7702 让外部拥有账户(Externally Owned Accounts,EOA)能够使用智能合约账户的功能。

作为开发者,你们是下一代链上创新的构建者,我们希望确保你们能充分发挥 EIP-7702 的潜力。作为为数百万链上应用提供支持的基础设施建设者,我们希望在这方面为你们提供指引。

这是我们针对应用开发者深入解析 EIP-7702 系列文章的第一篇。我们将一起探讨这项提案为何重要、其底层原理,以及帮助你决定如何(以及为何)将这些前沿功能集成到应用中的关键技术考量。让我们一步一步构建未来。

太长不看:

  • EIP-7702 让 EOA 能够将控制权委托给智能合约账户,后者可以直接从该地址执行代码
  • 它与主流的 AA 标准 ERC-4437 兼容,因此现有钱包可以变为智能合约钱包,而无需创建新地址或转移资产
  • 对用户而言,它将带来类似 Web2 的功能,包括账户恢复和用于简化身份验证的 passkey 登录,以及 Web3 的优势,比如由项目方赞助 gas 费,以及用任意代币(而不仅是 ETH)支付 gas

Ethereum 账户的现状

2024 年 5 月,Vitalik Buterin 提出了EIP-7702,这项提案可能从根本上改变 Ethereum 账户的运作方式。这项最初只是在一次全体核心开发者会议前用 22 分钟写成的草案,如今已被纳入 Pectra 升级。EIP-7702 代表着迈向完整账户抽象的关键一步,同时解决了当下的可用性问题。

但要理解 Ethereum 的发展方向,我们需要先了解其当前架构

如今,Ethereum 用户依赖两种类型的账户:由私钥控制的外部拥有账户(EOA),以及可以直接执行代码的智能合约账户(SCA):

外部拥有账户:

  • 可以发起交易
  • 无法直接从其地址执行代码
  • 仅限于基本操作

智能合约账户:

  • 可以执行代码
  • 无法发起交易
  • 更灵活、可编程性更强

EIP-7702 的目标是将这两者合二为一,让任何账户都能像智能合约一样运作。通过让 EOA 能够直接从其地址执行代码,Ethereum 开发者可以在链上构建媲美 Web2 的用户体验,具体功能包括:

  • 会话密钥(Session keys)
  • 账户社交恢复
  • 无需助记词的身份验证机制
  • 将多个操作打包为一次点击完成

以下是关于 EIP-7702 工作原理的一些要点。

关于 EIP-7702 与 ERC-4337 你应该了解的事

EIP-7702 并不会取代 Ethereum 现有的 AA 标准 ERC-4337。EIP-7702 的设计初衷是与 ERC-4337 互补,让这些账户抽象功能更容易触达用户。但 ERC-4337 确实存在一个局限:

  • 由于它与 EOA 不向后兼容,因此需要创建新钱包

EIP-7702 消除了这一局限,且无需对 EVM 的共识逻辑做更深层的改动:

  • 使用现有钱包
  • 不需要新账户或迁移
  • 与 ERC-4337 的基础设施完美契合
  • 现有 EOA 只需通过委托指示符(delegation designator)委托智能合约逻辑

EIP-7702 的执行流程

EIP-7702 依赖一种巧妙的委托机制,该机制要求用户提供授权以执行智能合约代码。这种授权在用户明确撤销之前一直有效,这意味着用户需要信任自己授权的代码不是恶意的。

执行流程如下:

  1. 设置:EOA 决定将控制权委托给一个智能合约钱包
  2. 验证:系统检查该委托是否已正确签名
  3. 执行:EOA 获得智能合约的能力
  4. 清理:如果 EOA 决定撤销智能合约的控制权,必须发送另一笔 7702 交易将委托重置为 0

EOA 通过存储一个委托指示符来获得像智能合约账户一样运作的能力。这个指示符是一段特殊代码,0xef0100 \|\| address,其中 address 指向一个包含所需功能或操作的智能合约。

委托指示符使用被禁用的操作码 0xef,以将其与常规数据区分开来,确保代码执行操作会从指定地址加载代码。

当一笔交易发送到该 EOA 时,该 EOA 会执行指定地址上的代码,从而获得智能合约账户的功能。

应用开发者需要考虑的采用与安全因素

EIP-7702 的普及主要依赖一个因素:钱包提供商。由于钱包处于应用的上游,如果没有钱包的支持,应用开发者及其用户就无法使用 EIP-7702 所带来的功能。

与智能合约账户相比,EIP-7702 也呈现出不同的安全模型。首要的一点是,EIP-7702 账户仍然保留其原始的 EOA 私钥,该私钥可以覆盖智能账户的安全规则。

你应该如何集成 EIP-7702 所支持的钱包功能,取决于几个因素:你应用所处的开发阶段、你所面向的用户类型,以及你在多链部署应用时所需要的灵活性。

面向已有用户和内嵌钱包的开发者

如果你已经拥有内嵌钱包,那很幸运。我们将通过智能账户帮助你管理不同类型的用户:

  • 现有 EOA 用户可以升级为 ERC-4337 账户
  • 新用户可以直接从纯 ERC-4337 账户开始
  • 系统将同时支持智能 EOA(EOA+7702)和纯 ERC-4337 账户

面向尚未部署应用的开发者

对于全新开发的应用:虽然 ERC-4337 和 EIP-7702 都能实现账户抽象,但它们在现代区块链应用中满足的是不同的需求。

ERC-4337 提供纯粹的智能合约账户,具备最大程度的可编程性、丰富的交易自定义能力,以及成熟的工具支持,非常适合单链应用,以及大多数以账户功能为核心诉求的多链应用。

相比之下,EIP-7702 提供一种混合方案,让账户既能作为 EOA,也能作为智能合约运作,从而实现跨链的无缝兼容性和地址在各网络间的一致性,同时由于不需要立即部署合约,初始 gas 成本更低。

在以下情况选择 ERC-4337:

  • 深度的账户可编程性是核心需求
  • 你正在构建一个多链应用,但不需要在部分链上使用 EOA、在另一些链上使用 SCA 这种灵活性
  • Gas 成本不是主要顾虑
  • 你需要丰富的交易自定义能力
  • 你希望利用现有的 4337 基础设施

在以下情况选择 EIP-7702:

  • 你正在构建一个多链应用,且各网络间地址的一致性是关键需求
  • 初始 gas 成本是一个顾虑
  • 与 EOA 基础设施的向后兼容性很重要
  • 你希望从简单起步,并随时间推移逐步升级,保留这种灵活性

EIP-7702 的关键优势在于其灵活性:你不必在 EOA 和智能账户能力之间二选一,这对于既需要与传统区块链基础设施交互、又需要与现代基础设施交互,同时还在规划跨链扩展的应用来说,格外有价值。

面向对接外部第三方钱包的应用

许多广泛使用的钱包,比如 MetaMask,计划在今年集成智能钱包功能。以下是一些值得你研究的主题:

  • 批量处理(Batching):单次授权即可原子性地执行多个操作的能力,比如在 DEX 上用户先批准一个 ERC-20,再使用该批准额度进行花费
  • 委托所带来的风险
  • 可以考虑使用我们的 SDK来简化外部智能钱包的连接

其他注意事项

如果应用开发者决定使用 EIP-7702 升级现有 EOA,并希望使用 7702 所支持的*全部***功能,就需要一个中继器(relayer)。**虽然存在不同的中继器架构,但我们建议使用 4337 bundler,原因如下:

  • 提供标准化的中继接口;
  • 内置 paymaster 系统;
  • 保证向前兼容性;并且
  • 可以通过公开的 mempool 支持抗审查性

如果你需要 4337 bundler,Alchemy Bundler 可以满足你的需求。

展望未来:通往主流采用之路

虽然 EIP-7702 有望让 Ethereum 更贴近 Web 体验,但开发者应注意,主网上线后的普及程度取决于钱包是否率先集成这些功能——因此 EIP-7702 的实际可用性在短期内可能仍会有限。如果你想了解 Ethereum 开发者正在讨论的最新动态,可以查看这里的最新文章。

我们帮助你集成 EIP-7702

智能钱包增加用户和交易量
智能钱包增加用户和交易量

智能钱包帮助你零摩擦地将用户带上链。你今天就可以利用 EIP-7702 来升级你的 EOA,或部署新的 ERC-4337 账户。

  • 零摩擦引导:通过内嵌钱包实现用户熟悉的邮箱和社交登录
  • 无 gas 交易:为用户赞助 gas 费,实现一键交易
  • 智能账户集成:轻松的 SDK 集成,支持 ERC-4337、ERC-6900 和 EIP-7702

我们随时为你提供学习、构建和上线方面的帮助!

  1. 探索:阅读文档,开始构建
  2. 需要支持?:联系我们!我们的团队 24/7 待命,帮助你实现这些功能

常见问题

什么是 EIP-7702?

EIP-7702 是包含在 Pectra 硬分叉中的 Ethereum 升级,它让外部拥有账户(EOA)能够将控制权委托给智能合约账户,从而获得智能账户的能力,比如批量交易、gas 赞助和社交恢复。

EIP-7702 如何与现有 EOA 协同工作?

EIP-7702 让现有 EOA 无需创建新账户或转移资产就能获得智能合约功能。该 EOA 会存储一个指向智能合约的委托指示符,使其能够直接从该地址执行代码。

EIP-7702 与 ERC-4337 兼容吗?

是的,EIP-7702 的设计初衷是对 ERC-4337 形成补充,而非取代它。ERC-4337 提供纯粹的智能合约账户,而 EIP-7702 让这些账户抽象功能能够被现有 EOA 使用,而无需创建新钱包或进行迁移。

EIP-7702 为用户带来了哪些功能?

EIP-7702 带来了类似 Web2 的功能,包括账户恢复、用于简化身份验证的 passkey 登录、由项目方赞助的 gas 交易、用任意代币(不仅限于 ETH)支付 gas,以及将多个操作打包为一笔交易。

使用 EIP-7702 的功能需要中继器吗?

如果你想使用 EIP-7702 支持的全部功能,就需要一个中继器。我们建议使用 4337 bundler,因为它们提供标准化接口、内置 paymaster 系统,并保证向前兼容性。

什么时候应该选择 EIP-7702 而不是 ERC-4337?

当你构建的多链应用需要在各网络间保持地址一致、初始 gas 成本是一个顾虑、与 EOA 基础设施的向后兼容性很重要,或者你希望从简单起步并随时间推移逐步升级时,可以选择 EIP-7702。

EIP-7702 的委托可以撤销吗?

可以,委托在用户明确撤销之前一直有效。要撤销智能合约的控制权,需要发送另一笔 7702 交易,将委托重置为零。

EIP-7702 普及的主要依赖因素是什么?

主要依赖因素是钱包提供商的支持。由于钱包处于应用的上游,如果没有钱包的集成,应用开发者及其用户就无法使用 EIP-7702 的功能。

Background gradient

构建区块链应用

Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。