Galaxy:以太坊账户抽象之路

Christine Kim热度: 13104

以太坊联合创始人提出了可编程智能合约账户的概念,允许用户通过智能合约代码来控制账户,实现更灵活的加密资产转移。ERC 4337提供了一种新方法,可以为用户交易提供更高级别的可编程性,而不需要更改以太坊核心协议。然而,可编程智能合约账户的采用可能会受到限制,因为开发人员会专注于其他紧迫的优先事项。最近,开发人员就提出的一些改进提案进行了讨论,但仍未达成一致。ERC 4337是一个重要的标准,旨在将可编程智能合约账户引入以太坊,可能会被以太坊和其他兼容协议采用。目前尚不清楚这些提案是否会在下一次以太坊升级中实施,但在新的兼容链上最受欢迎。以太坊上的可编程智能合约账户仍然是一个活跃的研究和开发领域。

摘要由 Mars AI 生成
本摘要由 Mars AI 模型生成,其生成内容的准确性、完整性还处于迭代更新阶段。

原文作者:Christine Kim

原文来源:Galaxy

原文标题:The Road to Account Abstraction on Ethereum

编译:邓通,金色财经

摘要

管理公钥/私钥对是用户采用加密货币的一个持续障碍。 以太坊从未打算使用外部拥有的账户(EOAs)来启动,即由公钥/私钥对控制的账户。 以太坊联合创始人 Vitalik Buterin 设想以太坊上的用户帐户可以由智能合约代码控制。 可编程智能合约账户将允许用户应用更灵活的条件来安全地将加密资产转移到钱包或从钱包中转移。 账户抽象是描述智能合约控制的用户账户的官方术语。 对账户抽象的兴趣在 2023 年飙升,并在 2024 年继续增长。本报告深入探讨了账户抽象是什么以及为在以太坊上启用该技术而提出的解决方案。

简介

两年前,以太坊开发人员 Vitalik Buterin、Yoav Weiss、Dror Tirosh、Shahaf Nacson、Alex Forshtat、Kristof Gazso 和 Tjaden Hess 共同撰写了以太坊征求意见 (ERC),概述了用户交易执行的新流程。 该提案名为 ERC 4337,它提供了一种新方法,可以在无需更改以太坊核心协议的情况下为用户交易提供更高级别的可编程性。

以太坊上的用户只能从用户控制的账户(也称为“外部拥有账户”(EOA))发起交易。 来自 EOA 的交易由账户用户私钥的数字签名授权。 私钥是最重要的信息,它使用户能够访问和控制 EOA 中持有的资金。 在以太坊上,用于保护 EOA 的特定类型的数字签名方案称为椭圆曲线数字签名算法(ECDSA)。 这与比特币上使用的方案相同。

由于安全记录和记住私钥可能很麻烦,因此以太坊用户和加密货币持有者依靠钱包软件来管理他们的私钥或集中托管人直接代表他们管理他们的加密资产。 多年来,像 Vitalik Buterin 这样的以太坊创始人和像 Yoav Weiss 这样的协议开发人员一直在研究通过可编程 EOA 来改善链上交易的用户体验的方法,即 EOA 可以通过任何类型的逻辑来执行和授权交易,而不仅仅是严格意义上的逻辑。公钥/私钥数字签名的逻辑。 可编程 EOA 的另一个术语是账户抽象 (AA)。

AA 可以启用一系列新方法和授权方案来执行链上交易,从简单地启用多个签名(即多个数字签名的组合)到可以用任何类型的 ERC-20 代币支付的交易,严格来说不是用户账户中的 ETH。 本报告概述了 ERC 4337、其采用情况以及开发人员为进一步扩展 ERC 4337 功能而提出的相关以太坊改进提案 (EIP)。本报告还提供了有关为何 AA 可能不会在有意义的情况下被采用的见解。短期内,以太坊的容量会增加,因为以太坊开发人员会专注于更紧迫的优先事项,例如 maxEB 和peerDAS,而中期,用户活动会迁移到Layer 2 Rollup 和已经支持 AA 独立的替代Layer 1协议以太坊。

ERC 4337

2023 年 3 月,在北美最大的以太坊年度会议 ETHDenver 上,以太坊基金会的安全研究员 Yoav Weiss 宣布在以太坊上推出一项名为 EntryPoint 的新智能合约。 EntryPoint 旨在验证和执行“账户合约”(AC) 中的交易。 AC 是一种以太坊账户,用户可以通过它编写新的逻辑来授权交易。 逻辑上必须采用 ERC 4337 标准定义的特定字段和类型来构建。 用复杂的执行逻辑格式化的用户事务称为“用户操作”。 一旦格式化,UserOperations 就可以被发送到专门用于这些类型交易的内存池。

以下是 ERC 4337 定义的 UserOperations 事务执行流程的高级说明。

以太坊

一旦 UserOperation 被提交到规范的 ERC 4337 mempool 或也接受 UserOperations 的替代 mempool,它就会被“Bundler”拾取。 捆绑器的作用与块构建器类似。 他们将多个 UserOperations 打包在一起,并提交该包以在以太坊上进行验证和执行。 作为模拟交易并将其打包以在链上执行的交易,捆绑者通过提交 UserOperation 的用户所附加的费用获得补偿。

UserOperations 可以指定“付款人”。 Paymasters 是赞助其他用户的 UserOperations 的参与者,以允许以太坊上的一些新功能,包括:

  • 用户使用 ETH 以外的加密货币支付交易费用;
  • 去中心化应用程序在启动早期阶段为其用户提供费用补贴;
  • 创建用于在以太坊上进行交易的链上信用服务。

以太坊

一旦被 Bundler 接收,UserOperation 将被提交到 EntryPoint 智能合约。 EntryPoint的作用是验证UserOperations,并为执行UserOperations的相关方支付费用。 一旦 UserOperations 的操作在链上完成,EntryPoint 智能合约将确保相关费用从 Paymaster 的地址(如果指定且有效)中扣除并记入 Bundler 的地址。

注意事项

从最初提交 UserOperation 到其在链上执行,有一些重要的注意事项需要注意:

  • 尽管以太坊上的 EntryPoint 智能合约已上线,但统一的 ERC 4337 内存池尚未启动。 可以在 GitHub 上找到此捆绑器点对点规范的早期迭代。
  • 新 AC 的创建可以直接在 UserOperation 中指定,这样 UserOperation 不仅指定处理用户事务的复杂要求,还指定将代表用户对消息进行签名的 AC。
  • 对于从捆绑器接受 UserOperations 的块构建器来说,确保块内执行的早期事务不会与任何 UserOperations 发生冲突并导致它们失败非常重要。 区块构建者必须将捆绑包作为区块中的第一个交易,或使用其他策略来正确验证 UserOperations 的内容。
  • Paymasters 有可能同时使多个 UserOperations 无效,从而给负责验证 UserOperations 的 EntryPoint 合约带来不必要的压力。 为了防止这种拒绝服务 (DoS) 攻击媒介,付款人需要投入资金,具体金额由捆绑软件实现定义,或者限制他们的存储能力,以便他们可以支持的用户操作仅限于他们可以在自己的存储范围内访问的操作。
  • ERC 4337 的组件并非基于新技术。 自 2018 年以来,Argent 等个人钱包服务已经实现了上述交易执行工作流程的一个版本,以支持用户交易的复杂交易执行逻辑。但是,ERC 4337 的创新之处在于其 Gas 核算和支付的标准化,以及创建一个独立的、抗 DoS 且无需许可的内存池。 ERC 4337 已被采用作为以太坊以外的多个协议的账户抽象标准,包括 Starknet、Optimism、Arbitrum、Avalanche、BNB Smart Chain 和 Polygon。

以太坊

好处

AC 有潜力彻底改变以太坊和其他参与的通用区块链和 L2 上的交易执行。 创建后,AC 可以与智能合约(即 dapp)交互,通过发送签名消息来执行交易,该消息验证 AC 移动用户资产的权利。 ERC 1271 是 ERC 4337 的随附标准,供 dapp 在与 AC 交互时使用。 支持 AA 的 dapp 将依赖 ERC 1271 来验证来自 AC 的签名消息,而不是请求来自用户私钥的发起交易的授权。 这为用户交易解锁了许多新用例,包括:

  • 对用户资产的定制控制:AC 可能有一条签名消息,dapp 可以验证该消息,允许他们移动某些资产或达到一定限制的资产,以确保即使在用户的 AC 可能被利用的情况下,其整个资产账户余额永远不会面临危险或被盗的风险。
  • 在发生黑客攻击时停止资产流动的能力:相反,AC 可能具有在超出某些提款限额时停止资金流动的嵌入逻辑。
  • 改善重复或频繁交易的用户体验:对于某些链上游戏和 DeFi 应用,用户需要提交多笔交易。 AC 可以被编程为自动允许与某些 dapp 进行交易,以便用户可以避免必须使用其私钥重复授权与同一智能合约的交互。
  • 支持私钥的社交恢复:AC还可以设计为依赖用户的私钥和其他社交恢复设备来转移资金。 如果用户丢失了他们的私钥,AC可以被编程为使用三分之二或五分之三的其他社交恢复设备来重新生成新密钥。

根据以太坊钱包服务 Argent 和其他来源的分析,以太坊上大约 60% 到 70% 的 dapp 兼容 ERC 1271。

前景展望

EntryPoint合约的推出是以太坊主网上AA发展的一个重要里程碑。 然而,使用 EntryPoint 的标准仍在积极开发中,并且可能会发生变化。 ERC 4337 不是协议级代码更改,而是一个不断发展的标准,用于使用替代工作流程提交用户交易。 ERC 4337 的采用陷入了困境,因为最终用户广泛采用该标准将为捆绑商创造高收入的机会,从而导致新捆绑商的涌入。 然而,除非已经存在许多发送 UserOperations 的用户,否则捆绑程序的兴起也没有经济激励。

此外,采用的其他障碍之一是 ERC 4337 需要以太坊内存池中的替代内存池,这将使围绕 UserOperations 活动的工具和分析变得更加复杂和复杂。 JiffyLabs 和 Blocknative 等公司正在开发专用工具和浏览器来跟踪用户操作从启动到执行的整个过程。

对于用户来说,用户操作的平均成本也更高。 大多数 UserOperations 比 EOA 的常规以太坊交易更昂贵的主要原因是,链上智能合约操作通常比严格涉及 ETH 的普通交易更昂贵。 如果这是用户的第一个 UserOperation,他们必须创建一个新的 AC,这会消耗 Gas,并且根据 AC 的配置,该账户可能会启动与多个代币或 dapp 的交互,这无论如何都会花费用户直接从EOA,但通过 ERC 4337 框架执行会产生额外的管理费用,这些费用由捆绑商、付款人(有时甚至是用户)承担。

根据 Dune 的数据,截至 2024 年 3 月 26 日,以太坊上创建的 AC 总数为 4,830 个。 自 2023 年 3 月以来,链上成功执行的 UserOps 数量为 36,332 个,同期这些 UserOps 产生的捆绑器收入约为 30.5 ETH。 在交易费用相对低于以太坊的其他协议上,用户操作活动相对较高,尤其是在 Polygon 上。 见下图:

以太坊

以下是更广泛采用 ERC 4337 标准所需的三个关键开发领域:

  • 监控工具:一旦 ERC 4337 内存池在以太坊上启动,ERC 4337 内存池浏览器和其他用于跟踪 UserOperation 活动的强大工具对于支持 AA 的更广泛采用将非常重要。
  • 用户操作标准:在用户事务的执行中增加额外的代码复杂性可能会导致更多的错误和漏洞利用机会。 某些类型的常用用户操作的标准将进一步推动特定 AA 用例的采用。
  • 包含列表和审查抵抗机制:就像以太坊上的第三方区块构建者由于这些参与者角色的特殊性质而存在的中心化风险一样,存在最大可提取价值(MEV)中心化捆绑者角色的风险。 随着 AA 的采用不断增长,ERC 4337 标准指定通过包含列表或其他审查抵抗机制来对抗 MEV 的集中效应的方法将变得非常重要。

ERC 4337 的主要优点和缺点之一是它不会改变以太坊的协议。 这是一个优势,因为 ERC 4337 作为 EVM 兼容链中 AA 标准的开发并不依赖或依赖以太坊核心开发人员的努力和共识。 以太坊核心开发人员是一群无定形的研究人员和程序员,他们从事以太坊协议的工作,他们的行动缓慢,并且要兼顾多个相互竞争的优先事项和代码议程。 ERC 4337 可以独立于该团队进行开发,这意味着可以更快地发布其代码的更新。

以太坊原生 AA 之路

然而,ERC 4337 是一个独立于以太坊的协议,这也是一个弱点,因为它限制了该标准的采用。 如果不进行协议级别的更改,AC 的采用在很大程度上取决于 dapp 开发人员更新其智能合约,以请求签名消息作为用户身份验证的有效形式,而不是来自 EOA 私钥的签名。 AC 是 Starkware 等协议上的默认用户账户类型,其中原生支持 AA。 这有很多好处,包括所有 dapp 都与 AA 兼容并支持来自 AC 的用户交易的本机批处理。

为了更好地直接支持 AA 在以太坊上的采用,最近几个月提出了一些 EIP,这些 EIP 将对以太坊协议进行微小的更改。

  • EIP 3074:由以太坊核心开发人员 lightclient、Ansgar Dietrichs、Micah Zoltu 和 Sam Wilson 提出,该 EIP 创建了两个新的 EVM 指令,用于将 EOA 的控制权委托给智能合约。 尽管这是 2020 年提出的一项长期存在的 EIP,但它仍然是一个有争议的项目,目前以太坊核心开发人员正在争论是否将其纳入布拉格/Electra 升级中。
  • EIP 7664:由匿名 OP Labs 开发人员“Protolambda”提出,该 EIP 于 2024 年 3 月 28 日在最近的所有核心开发人员 (ACD)、所有核心开发人员执行调用 (ACDE) #184 上提出,作为 EIP 的更好替代方案3074 提供附加功能。
  • EIP 5806:由 OpenZeppelin 的区块链工程师 Hadrien Croubois 提出,该 EIP 创建了一种新的交易类型,允许 EOA 使用类似委托调用的机制执行任意代码。 委托调用是以太坊上的智能合约操作码,允许合约执行另一个合约的代码。 将此功能应用于 EOA 将允许 EOA 对要执行的合约操作有更多控制,从而提高 EOA 的可编程性。 通过 EIP 5806,EOA 可以调用另一个合约,然后通过一个初始交易触发多个交易。 与 EIP 3074 一样,以太坊核心开发人员目前正在讨论该 EIP 是否包含在布拉格/Electra 升级中。
  • EIP 7377:由 Geth 开发者和 EIP 编辑 Matt Garnett(化名“lightclient”)提出,该 EIP 创建了一种新的交易类型,以帮助使用一次性交易将 EOA 中的资产迁移到 AC。 如果用户在一个EOA中拥有多个资产,则很难将这些资产单独迁移到新地址。 因此,创建一种交易类型,可以通过一个简单的操作将 EOA 中的所有资产安全地迁移到 AC,将极大地改善用户体验并加快 AC 钱包的采用。 与 EIP 3074 和 5806 一样,以太坊核心开发人员目前正在讨论该 EIP 是否包含在布拉格/Electra 升级中。 然而,在这三个EIP中,EIP 7377被认为是核心开发者中争议最小的。
  • EIP 6900:该 EIP 是 Alchemy 和以太坊基金会的开发人员合作提出的,为智能合约和 AC 插件提出了新标准。 插件包含 UserOps 的执行逻辑,以及定义 AC 将批准代表其采取的操作的情况的验证方案。 这些插件还可以包含允许执行前和执行后控制的Hook。 在 AC 中采用此类插件标准将有助于支持高度模块化和可升级的交易执行逻辑,并增强钱包和 dapp 的互操作性。
  • EIP 7553:由 Nethermind 客户端开发人员 Tomasz 提出。 K. Stańczak 和以太坊基金会研究员 Ansgar Dietrichs 表示,该 EIP 创建了一种新的交易类型,将交易发送方和付款方的角色分开。 EIP 是先前提案 EIP 2711 的缩小版,旨在支持赞助交易,即由第三方支付费用的交易。

EIP 5806 和 6900 于 2023 年 8 月上旬在所有核心开发人员执行 (ACDE) 第 167 号电话会议上提出。虽然有利于在以太坊上采用 AA,但电话会议的开发人员在制定路线图之前推迟了实施 AA 相关的协议更改。最终将 AA 完全纳入以太坊协议中。 Swirlds Labs 工程师兼 Besu 客户端维护人员 Danno Ferrin 表示:“这些都是有趣的解决方案,它们开辟了有趣的设计空间,但我认为我们应该退后一步,思考是否可以通过针对账户抽象的深思熟虑的设计来为我们提供更好的服务。”

考虑到 Verkle 树、提议者构建者分离、单槽最终确定性和完整 danksharding 等其他重要举措的竞争优先级,开发人员对于在下一个计划的以太坊硬分叉中承诺 AA 相关的 EIP 犹豫不决。 然而,AA 的话题在 ACDE #178 上再次被提起,开发人员对在布拉格/Electra 升级中实现与 AA 相关的简单 EIP(例如 EIP 7553)的想法表达了更多的热情。 最近,上面列出的前三个 EIP 在 ACDE #182 上进行了详细讨论。 开发人员就这三个提案之间的优缺点进行了争论。 最后,在最近的 ACD 电话会议 ACDE #184 中,OP Labs 开发人员 Protolambda 提出了新版本的 EIP 3074,供布拉格/Electra 考虑。

根据围绕以太坊 AA 的持续讨论,该技术是所有以太坊开发人员的理想目标,但其中之一需要数月甚至数年的讨论才能就路线图以及该协议的其他竞争优先事项达成共识。 因此,ERC 4337很可能在短期内作为不触及以太坊协议的标准而被更广泛地采用。 中长期来看,随着以太坊的 Layer-2 (L2) rollup 生态系统的成熟,ERC 4337 和其他为以太坊提出的 AA 相关的 EIP 更有可能在这些比以太坊相对更灵活的协议上得到快速采用。 由于以太坊的可扩展性取决于Rollup,并且以太坊演变成Rollup的数据可用性层,因此预计更多的最终用户将在 L2 上进行交易,而不是直接在以太坊上进行交易。

结论

ERC 4337 是一个重要且不断发展的标准,旨在在不改变网络核心协议的情况下将 AA 引入以太坊。 更重要的是,它是 AA 的标准,可以被以太坊和 L2 之外的 EVM 兼容协议采用。 ERC 4337 的创新之处在于它为钱包和 dapp 可以合并的捆绑商和付款人提供了单一的 Gas 会计和交易支付策略。 此外,ERC 4337 提供了一个受第三方区块构建启发的标准,通过替代内存池支持 UserOperations 的无许可捆绑,理论上任何人都可以在操作捆绑器时向该内存池提交交易并从中赚取收入。 ERC 4336 的采用虽然在以太坊上进展缓慢,但已被其他协议所接受; 尤其是 L2,例如 Polygon、Arbitrum、Optimism、StarkNet 以及最近的 Base。 AA 开发人员提议在以太坊上进行协议级别的更改,以加快在以太坊上采用 ERC 4337,但考虑到竞争优先级,目前尚不清楚这些 EIP 是否会在下一次以太坊升级布拉格/Electra 中实施。 本报告中提到的 ERC 4337 和 AA 相关 EIP 的采用可能会在 L2 和新的 EVM 兼容链上最受欢迎,这些链可以更快地激活协议更改。 以太坊上的 AA 仍然是一个活跃的研究和开发领域,在开发人员确定支持该技术的更严格的路线图之前,该领域可能会经历更多的迭代。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。
关键字:以太坊