EIP-3074和EIP-7702:账户抽象的新纪元

  • BuildBear
  • 发布于 2024-08-06 18:33
  • 阅读 55

这篇文章深入探讨了以太坊的Pectra升级及其对钱包功能和用户体验的提升,特别是EIP-3074和EIP-7702的贡献。文章分析了账户抽象技术的发展及其带来的便利如简化交易和增强安全性,最后总结了这些提案对未来Web3应用的影响。

以太坊账号抽象(Account Abstraction)路线图于2023年启动,此后已成为一个重要主题,特别是在最近宣布的EIP-3074将在即将到来的以太坊硬分叉(Pectra)中被纳入。

本文探讨了Pectra升级如何旨在改善以太坊钱包功能并增强用户体验,重点介绍其主要贡献EIP:EIP-3074和EIP-7702。

什么是Pectra升级?

以太坊Pectra升级预计将在2025年初实施,这是以太坊网络的下一次重大改进。主要目标包括提高验证者的最大质押、改进以太坊虚拟机(EVM)效率,以及可能引入钱包的用户体验增强。

作为一个web3爱好者,你可能听过很多关于账号抽象的内容。让我们来探讨一下这个概念如何改善钱包的功能。

理解账号抽象

大多数情况下,账号抽象简单地意味着智能合约能够做的事情超过传统的外部拥有账户(Externally Owned Accounts, EOA)。以太坊上的EOA由私钥控制,能够通过签名发起交易。

然而,随着我们的需求不断发展,我们需要一个系统来处理复杂的交易,而这在正常钱包中是无法实现的。正如所说,问题带来了伟大的解决方案。这导致了智能合约账户(Smart Contract Accounts, SCA)的发展,这是一种在以太坊网络中由程序控制的账户,它根据预定义的逻辑执行操作。

下面是以太坊中外部拥有账户(EOA)和智能合约账户(SCA)之间的快速比较:

那么,账号抽象究竟是什么? 它旨在集成EOA和SCA的功能,允许在web3中更容易进行交互。

账号抽象的好处是什么?

  • 简化交互过程,使其更用户友好,特别是对新手来说。
  • 允许智能合约在不暴露或管理私钥的情况下,代表EOA发起和控制交易。
  • 最小化与密钥管理相关的风险,并启用高级交易类型和条件逻辑。

曾有多次尝试实现账号抽象,并显示出显著的采用率。让我们分析与AA相关的EIP及它们的成功程度。

账号抽象的未来:ERC-4337及更远

ERC-4337 支持一系列通常在EOA中不可用的功能,如使用非ETH的代币支付Gas费、复杂的账户恢复机制以及更高级的交易批处理和调度功能。这确实带来了众多用户体验的改善。

然而,EOA仍然是通过Metamask钱包使用的最常见类型账户。由于缺乏将EOA转换为智能合约账户的方法以及web3应用对智能合约账户的本地支持不足,大多数4337智能合约账户由单个EOA签名者控制。

这些问题由EIP-3074解决,旨在通过允许EOA将其控制权委托给智能合约来赋予EOA更多权力。这是将现有用户从EOA迁移到智能合约账户的一步。此外,EIP-5003 提出了从EOA永久转换到SCA的方法。这将允许EOA将交易执行权限永久委托给SCA。

什么是EIP-3074:对账号抽象的贡献

EIP-3074 引入了新的以太坊操作码和功能,使智能合约能够与EOA安全且可控地交互。

它主要解决了传统钱包(如Trust Wallet)的一些局限性。如何做到的?传统钱包作为外部拥有账户(EOA),与智能合约集成,使用账号抽象实现更流畅的用户体验。

EIP-3074如何工作?

EIP-3074 向以太坊虚拟机(EVM)添加了新的操作码:AUTHAUTHCALL

  • AUTH:此命令允许用户授权一个智能合约代表他们行事。它使用特殊数字签名(ECDSA)来验证用户已授权。一旦验证成功,用户的地址存储在一个特殊变量中。
  • AUTHCALL:此命令允许授权的智能合约代表用户执行交易。它可以像普通交易一样,向其他地址发送交易,指定金额并包含数据。

假设你想用10 DAI兑换ETH。你只需用一个签名授权(AUTH)调用者。调用者将会:

  • 使用 AUTHCALL 授权Uniswap花费你的DAI。
  • 立刻再次使用 AUTHCALL 执行DAI兑换ETH的操作。

EIP-3074的主要好处

EOA控制委托

新的操作码有效地将EOA的控制权委托给智能合约,扩展其功能,而无需额外部署合同。通过将交易执行委托给SCA,EIP-3074减少了私钥的暴露。恶意调用者不能直接访问EOA的资金,从而降低了未授权交易的风险。

对赞助交易的影响

第三方赞助商可以提供必要的Gas费用,并代表用户提交交易。因此,用户只需签署交易,而无需在他们一方支付所需的Gas费用。

用户体验改善

用户现在可以更高效地与去中心化应用程序(dApps)交互,使EOA获得智能合约钱包的能力。这简化了交易过程并减少了与区块链交易执行相关的复杂性。

批量交易

EIP-3074通过将所有个别交易组合在一起,并使用一个签名通过智能合约执行它们,允许批量交易。此功能节省了Gas费用、时间和精力。

挑战和考虑因素

虽然EIP-3074为以太坊的账号抽象能力带来了显著进步,但也带来了挑战:

  • 恶意调用者风险: 委托EOA控制权给SCA引入了恶意调用者试图进行未授权交易的风险。
  • 临时委托: AUTH要求消息中的nonce必须等于签署者当前的nonce,这会使得未完成的授权失效,不能进行单个EOA交易。
  • 以太的消耗限制: 在EIP-3074控制下的EOA可能有直接消耗以太的限制。
  • 自我赞助的影响: SCA自我赞助交易可能会绕过某些安全措施,例如闪电贷保护。

EIP-7702的出现

Vitalik Buterin提出了一个称为EIP-7702的EIP3074高级版本,添加了一种新交易类型,接受 contract_codesignature字段。这允许在一次交易中将EOA临时委托给智能合约。

EIP-7702如何工作:

EIP-7702使外部拥有账户(EOA)在一次交易中临时表现得像智能合约:

  1. contract_code:将在交易中临时分配给EOA的智能合约逻辑。
  2. signature:授权使用智能合约代码的ECDSA签名。

例如,如果你想进行代币交换并在一个交易中质押所得到的代币,EIP-7702允许你的EOA在contract_code字段中包含智能合约逻辑,并在交易中包含ECDSA签名。一旦得到验证,网络将临时将EOA视为智能合约,执行提供的contract_code以一并完成交换和质押操作。

EIP-7702的主要好处

无需信任的执行

EIP-7702消除了对可信调用者的需要,降低了恶意操作的风险。无需中央方执行交易,减少了与外部调用者相关的安全风险。

简化复杂交易

用户可以在一次交易中执行复杂交易,例如代币交换和质押,提高用户体验,降低复杂性。

未来兼容性

与ERC-4337和未来的账号抽象提案完全兼容,确保平滑集成并适应以太坊生态系统中的即将变化。

总结一下,以下是这些AA相关EIP的简要比较。

结论

账号抽象旨在通过消除交易发起和执行的复杂性,使区块链更易于访问和更具多样性。EIP-3074以及EIP-7702代表了账号抽象的重要进展,可能会改变用户与web3应用程序的互动方式,增强web3生态系统中整体用户体验。

关于BuildBear:

BuildBear 是一个专门用于DApp开发和测试的平台。开发者可以在多种区块链网络上构建个性化的私有测试网沙箱。制造无限的本地和ERC20代币,加上BuildBear上快速的交易时间(在3秒以内!),大大提升了DApp开发生命周期。该平台配备了实时测试和调试的工具和插件,确保开发者能以无与伦比的轻松程度监控复杂的区块链交易。

在下面连接我们的 Twitter | LinkedIn | Telegram | GitHub

作者: Sana

  • 原文链接: medium.com/buildbear/eip...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
BuildBear
BuildBear
https://medium.com/buildbear