EIP-7702 是即将实施的以太坊升级,旨在提供外部拥有账户(EOA)与智能合约账户之间的融合,允许EOA直接执行代码,从而实现账户抽象。本文详细介绍了EIP-7702的工作原理、与ERC-4337的互补关系,以及对应用开发者的影响,突出其在跨链兼容性和用户友好性方面的优势。
发表于 2025 年 2 月 4 日,阅读时间 5 分钟
EIP-7702 使外部拥有账户具有智能账户功能
简言之?我们明白。查看 我们在 X 上的系列,获取快速解释和演示。
以太坊即将进行一次重要升级 EIP-7702,预计将在未来几个月作为 Pectra 硬分叉 的一部分发布。此次升级标志着以太坊在朝着 账户抽象 迈进的重要时刻,这是一项旨在让链上体验变得更流畅、更智能、更易于访问的突破性进展。具体而言,EIP-7702 让 Externally Owned Accounts (EOAs) 能够使用智能合约账户的功能。
作为开发者,你是下一代链上创新的架构师,我们在这里确保你能够充分利用 EIP-7702。作为撑起数百万链上应用基础设施的建设者,我们在这里提供指导。
这是我们深入解析 EIP-7702 的系列文章中的第一篇,专为像你一样的应用开发者量身定制。我们将共同探索这一提案为何如此具有影响力,它是如何在后台工作的,以及关键的技术考虑因素,以帮助你决定如何(以及为何)将这些尖端功能集成到你的应用中。让我们一起构建未来——一次一次升级。
EIP-7702 使 EOAs 可以将控制权委托给能够直接从其地址执行代码的智能合约账户
它与当前的 AA 标准 ERC-4437 兼容,因此现有钱包可以在不创建新地址和转移资产的情况下变为智能合约钱包
对于用户而言,它将启用类似 web2 的功能,包括账户恢复和便捷的密码登录,以及 web3 的好处,如Gas赞助交易费和用任意 Token(而不仅仅是 ETH)支付Gas
在 2024 年 5 月,维塔利克·布特林推出了 EIP-7702 提案,这可以从根本上改变以太坊账户的工作方式。最初是一次 22 分钟的草案,并在全核心开发者会议上进行讨论,现在已确定包含在 Pectra 升级中。EIP-7702 代表着实现完整账户抽象的关键一步,同时解决了即时的可用性挑战。
但为了理解以太坊的未来方向,我们需要 了解其当前架构。
目前,以太坊用户依赖两种类型的账户:外部拥有账户 (EOAs),由私钥控制,和 智能合约账户 (SCA),可以直接执行代码:
外部拥有账户:
可以发起交易
不能直接从其地址执行代码
限于基本操作
智能合约账户:
可以执行代码
不能发起交易
更灵活和可编程
EIP-7702 的目标是通过让 任何账户像智能合约一样工作 来合并这两者。通过使 EOAs 能够直接从其地址执行代码,Ethereum 开发者可以在链上构建与 Web2 水平相当的用户体验,具体包括:
会话密钥
账户的社交恢复
不需要种子短语的身份验证机制
以及将多个操作合并为一次点击
你需要了解 EIP-7702 如何工作的几点。
EIP-7702 不会取代以太坊现有的 AA 标准 ERC-4337。EIP-7702 旨在与 ERC-4337 互补,使这些账户抽象功能更容易接触到用户。但 ERC-4337 确实存在一个限制:
EIP-7702 消除了这一限制,并未对 EVM 的共识逻辑进行深层更改:
使用现有钱包
不需要新账户或迁移
与 ERC-4337 的基础设施完美契合
现有的 EOAs 只需通过委托设计者委派智能合约逻辑
EIP-7702 利用了一种聪明的委托机制,依赖用户提供授权来执行智能合约代码。这种授权是永久性的,直到用户明确撤销,这意味着用户信任他们授权的代码不会是恶意的。
执行流程如下:
设置:EOA 决定将控制权委托给智能合约钱包
验证:系统检查委托是否正确签名
执行:EOA 获得智能合约功能
清理:如果 EOA 决定撤销智能合约控制,必须发送另一个 7702 交易以将委托设置回 0。
EOAs 通过存储 委托设计者 得以像智能合约账户一样工作。此设计者是一个特殊代码,0xef0100 || address
,其中的 address
指向一个包含所需功能或操作的智能合约。
委托设计者使用被禁用的操作码 0xef
来将其与常规数据区分开,确保代码执行操作从指定地址加载代码。
当一个交易发送到 EOA,EOA 执行在指定地址的代码,从而获得智能合约账户的功能。
EIP-7702 的采用之路有一个主要依赖:钱包提供商。由于钱包在应用之前,因此没有钱包的支持,EIP-7702 启用的功能无法被应用开发者及其用户利用。
EIP-7702 还呈现了与智能合约账户不同的安全模型。主要的是,EIP-7702 账户保留其原始的 EOA 私钥,这可以覆盖智能账户的安全规则。
你如何与 EIP-7702 启用的钱包功能集成,应取决于以下几个因素:应用的开发阶段、你所针对的用户类型,以及你在跨多个链部署应用时所需的灵活性。
如果你已经有了嵌入式钱包,你运气不错。帐户套件 将帮助你通过其智能账户管理不同的用户类型:
现有的 EOA 用户可以升级到 ERC-4337 账户
新用户可以直接开始使用纯 ERC-4337 账户
系统将同时支持智能 EOAs (EOA+7702) 和纯 ERC-4337 账户
对于从头开始的新应用:虽然 ERC-4337 和 EIP-7702 都支持账户抽象,但它们在现代区块链应用中满足不同的需求。
ERC-4337 提供纯智能合约账户,具有最大可编程性、广泛的交易自定义和成熟的工具,使其成为单链应用和主要多链应用(账户功能至关重要)的理想选择。
相对而言,EIP-7702 提供了一种混合方法,使账户能够同时作为 EOAs 和智能合约运行,支持无缝的跨链兼容性和跨网络的一致地址,同时由于不需要立即部署合约,因此初始Gas成本较低。
当选择 ERC-4337 时:
深度账户可编程性是核心要求
你正在构建多链应用但不需要在某些链上使用 EOA 而在其他链上使用 SCA 的灵活性
Gas费用不是主要关注点
你需要广泛的交易自定义
你想利用现有的 4337 基础设施
当选择 EIP-7702 时:
你在构建多链应用,并且在网络间保持一致地址是关键要求
初始Gas成本是一个问题
向后兼容 EOA 基础设施很重要
你想灵活地从简单开始并随时间升级
EIP-7702 的关键优势在于其灵活性:你不必在 EOA 和智能账户功能之间做出选择,这对于需要与传统和现代区块链基础设施交互并计划进行跨链扩展的应用来说特别有价值。
许多最广泛使用的钱包,如 MetaMask,正在计划在今年整合智能钱包功能。以下是你可以探索的一些主题:
对于决定使用 EIP-7702 升级现有 EOAs 并希望使用 全部 7702 启用功能的应用开发者,你需要一个中继器。 虽然有不同的中继器架构,但我们推荐使用 4337 捆绑器,因为:
它们提供标准化的中继接口;
包含内置的支付主系统;
确保向前兼容性,并
可以通过公共内存池支持防审查
如果你需要一个 4337 捆绑器,Alchemy Bundler 可以满足你的需求。
尽管 EIP-7702 承诺使以太坊更接近 Web,开发者应注意初始主网推出后的采用依赖于钱包首先集成这些功能——因此 EIP-7702 的可用性可能会受到限制。如果你想了解以太坊开发者正在讨论的内容,请查看 这里 的最新帖子。
账户套件:由账户抽象驱动的嵌入式钱包
账户套件 是你的完整工具包,可以让世界无缝接入链上。很快,它将为你提供利用 EIP-7702 所需的一切,且已支持更广泛的账户抽象功能。
无摩擦上手:使用嵌入式钱包实现熟悉的电子邮件和社交登录
无Gas交易:为用户赞助Gas费用并实现一键交易
智能账户集成:简单的 SDK 集成,支持 ERC-4337、ERC-6900 和 EIP-7702
全栈工具包:使用账户套件构建所有内容,或在堆栈中的任何位置使用你自己的提供者。
我们在这里帮助你学习、构建和交付!
- 原文链接: alchemy.com/blog/eip-770...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!