介绍 EIP-7702:通过优化账户抽象加速以太坊采用

深潮TechFlow
2024年6月4日 16:30
收藏
EIP-7702 为更用户友好和开发者友好的生态系统铺平了道路。

原标题:《EIP-7702 Explained: The Future of Ethereum》

作者:QuickNode

编译:深潮 TechFlow

 

EIP-7702 旨在通过其精益和简单的实现,让账户抽象在以太坊上实现大规模应用。

最近,账户抽象 (Account Abstraction, AA) 的出现引起了广泛关注,它被视为解决以太坊用户体验问题的一项关键方案。然而,尽管 AA 被认为具有很大潜力,但在实际应用中一直是一个难题,直到最近才有所突破。

如今,EIP-7702 的出现带来了希望。这项由 Vitalik Buterin 和其他核心以太坊开发者提出的创新提案,旨在简化账户抽象的实现。

在这篇文章中,我们将深入探讨 EIP-7702 的细节、其必要性、所带来的改进,以及它如何为以太坊的主流应用铺平道路,使其更加用户友好并具备未来适应性。尤其是在以太坊 ETF 申请最近获得批准后,这一目标显得更为可行。

但首先,什么是账户抽象?

什么是账户抽象?

账户抽象允许创建智能合约账户,以在无需外部拥有账户(Externally Owned Account, EOA)的情况下发起和执行交易。简单来说,账户抽象旨在使 web3 的体验如同 Web2 一样无缝,以至于日常用户甚至不会注意到他们正在使用它,但仍能享受其所有好处。

在 Web2 时代,当客户在结账终端刷卡时,所有在幕后运行的后端系统和机制都是在默默地工作;客户只关心他们能否完成支付,对交易过程中的复杂细节并不在意。同样,账户抽象的目标是通过多种潜在的应用场景,提供尽可能无缝和简便的 Web3 用户体验。

账户抽象的潜力

账户抽象的强大之处在于允许开发人员将复杂功能直接集成到用户账户中,如自动交易、钱包恢复机制等。QuickNode 提供了一份详细指南,帮助开发者进一步探索账户抽象或寻求实践指导。想在项目中实现账户抽象,可以通过 QuickNode 的市场获取 Stackup 的插件,简化这一过程。

虽然这个概念引起了人们的极大兴趣,正如越来越多的支持账户抽象的钱包所证明的那样,但缺乏本地以太坊实现凸显了固有的采用挑战。

账户抽象的挑战

在以太坊上实现账户抽象面临多个挑战。ERC-4337 标准存在固有问题,实施过程中也会遇到额外挑战。主要风险包括:

  • 所有权与控制权分离的风险:账户抽象可以将账户的所有权和控制权分离到'EntryPoint'合约,这带来了未授权交易和智能合约漏洞的风险。开发者需要实施技术防护措施来减轻这些风险,增加了复杂性。
  • ERC-4337 兼容性的后勤风险:现有 EOA 比 ERC-4337 提供的复杂功能简单得多,需要大量后台逻辑和代码重构。为安全性去中心化打包者和更新像 MetaMask 这样的流行基础设施增加了后勤挑战。

(来源:EIP-4337 官方文档)

  • EntryPoint 合约作为单点故障:ERC-4337 高度依赖 EntryPoint 合约来处理和验证用户操作,成为一个单点故障,容易受到安全风险和可靠性问题的影响。

此外,智能合约账户交易比传统 EOA 交易更贵,增加了复杂性。

EIP-7702:拟议的解决方案

EIP-7702 通过结合 ERC-4337、EIP-3074 和 EIP-5003 的最佳特性,同时减轻其各自的限制,来解决这些挑战。这种方法确保账户抽象的实现更高效且兼容。

关键组件:

  • ERC-4337 - 智能合约账户:允许智能合约作为用户账户运行,使开发人员能够构建复杂的交易逻辑和用户体验改进。但它缺乏将 EOA 转换为智能合约账户的本地支持,没有向后兼容性,使交易成本高昂。
  • EIP-3074 - AUTH 和 AUTHCALL:通过引入两个新的操作码 AUTH 和 AUTHCALL 增强 EOA 功能,使其临时充当智能合约账户。然而,它需要硬分叉并依赖调用者,导致集中化风险。
  • EIP-5003 - AUTHUSURP:引入 AUTHUSURP 操作码,用于永久迁移 EOA 到智能合约账户。通过部署智能合约代码到 EIP-3074 授权地址并撤销原私钥访问实现。

此外,EIP-7702 还引入了一种新型交易类型,允许 EOA 在单笔交易中临时作为智能合约钱包执行。该临时代码分配是无信任的,与现有 ERC-4337 基础设施兼容,功能化设计便于集成,并设计为未来可扩展,无需硬分叉。

EIP-7702 如何加速以太坊的采用

EIP-7702 通过以下特点显著提升了账户抽象在以太坊上的采用潜力:

  • 无信任性:EIP-7702 通过在单笔交易中临时分配智能合约代码给 EOA,消除了对中心信任点的需求。此无信任方法在交易后消除任何访问或合约签名。
  • 兼容性:EIP-7702 与现有 ERC-4337 基础设施完全兼容,无需硬分叉或新操作码。在 EOA 和智能合约账户之间无缝工作,统一了以太坊上的账户抽象。
  • 基于功能的验证:EIP-7702 设计紧密耦合验证(AUTH)和执行(AUTHCALL),减少了干扰,简化了过渡。此基于功能的方法通过降低学习曲线提升了开发者体验。
  • 未来可扩展:EIP-7702 确保与 ERC-4337 账户的向后兼容,技术债务低。无需硬分叉进行维护,让开发者能够自信地构建长期解决方案。

开发者友好的账户抽象路径

迄今为止,账户抽象的承诺由于实施复杂性、缺乏本地支持和不同方法而未能实现。EIP-7702 提供了一个直接解决这些核心问题的开发者友好解决方案,使 EOA 具备智能合约账户功能,且无信任、兼容且未来可扩展。

随着以太坊的不断发展,EIP-7702 代表了实现账户抽象真正潜力的重要一步,为更用户友好和开发者友好的生态系统铺平了道路。

链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 站内所有内容仅系市场信息或相关方观点,不构成任何形式投资建议。如发现站内内容含敏感信息,可点击 “举报”,我们会及时处理。
ChainCatcher 与创新者共建Web3世界