超越ERC-4337的账户抽象 —— 意图(ERC-7683)如何使AA更便宜、更快

  • zerodev
  • 发布于 2025-02-11 20:22
  • 阅读 17

本文分析了ERC-4337账户抽象方案在实际应用中存在的 gas 费用高和速度慢的问题,并指出其根源在于ERC-4337为了实现去信任化的UserOps mempool而牺牲了效率。文章介绍了ZeroDev提出的UltraRelay方案,该方案通过引入一定的信任假设,优化了gas赞助交易的中继过程,从而显著降低了gas成本和延迟。

本文最初发表于 X。

ERC-4337 已经投入生产两年多了。在这段时间里,我们在 ZeroDev 帮助了数百个团队上线智能账户,并且亲身目睹了他们面临的挑战。

在这些挑战中,有两个主要的挑战脱颖而出:

ERC-4337 非常昂贵

AA 交易(又名 “UserOps”)比常规交易更昂贵。事实上,UserOps 非常昂贵,以至于它们在 Ethereum L1 上基本上是不切实际的,这就是为什么实际上所有的 AA 采用都发生在 L2 上的原因。

在 L2 上,UserOps 平均比常规交易贵 2 倍,但由于基数很小(例如 0.01 美元 vs 0.005 美元),用户不太会注意到。然而,对于赞助大量 UserOps 的 DApp 来说,gas 开销会迅速累积。我们较大的客户每月因开销而 “损失” 数千甚至数万美元。

ERC-4337 很慢

今天,超过 98% 的 UserOps 都是通过 paymaster 赞助的。然而,bundler、paymaster 和用户之间的交互非常复杂。在实践中,用户需要执行 4 个 API 调用才能发送一个赞助的交易,有时会导致 UserOp 错过一个区块。

在像 Arbitrum/Base 这样的快速 L2 上,常规交易和 UserOps 之间的延迟差异非常明显。一个在 Base 上执行需要 3 秒的交易,当作为 UserOp 发送时,通常需要 5-6 秒。

ERC-4337 效率低下的根本原因

ERC-4337 是由 Web3 中一些最聪明的人编写的,包括 Vitalik 本人。那么,为什么他们不能让 ERC-4337 更有效率呢?

原因是 ERC-4337 的设计有一个明确的目标:启用一个去中心化和无需信任的 UserOps mempool。引用 Vitalik 在这个帖子中的话(https://x.com/VitalikButerin/status/1576199517434949634):

“你应该能够将一个 op 发送到一个公共 mempool 中,如果它支付了足够的费用,就可以可靠地期望它被包含进去。这不应该依赖于任何中心化的参与者......

这是现有的公共 mempool 提供的黄金标准。我们绝对需要为智能合约钱包提供同样的保证,否则我们可能会加剧中心化和审查的风险。”

换句话说,ERC-4337 的主要目标是确保智能账户交易,也就是 UserOps,可以以一种不需要钱包、中继者(又名 “bundler”)和 gas 赞助者(又名 “paymaster”)之间任何信任假设的方式包含在链上。

为了实现这种信任最小化,ERC-4337 通过一个名为 “EntryPoint” 的全局合约处理 UserOps,该合约执行细粒度的 gas 计量,以确保不同的实体不能互相攻击。这种 gas 计量是 ERC-4337 效率低下的根源,因为它既使 UserOps 非常大(更高的 L1 成本),又使处理 UserOps 的计算成本非常高(更高的 L2 成本)。

因此,如果我们想比 ERC-4337 更有效率,那么正确的问题不是 “我们如何优化 ERC-4337”,而是 “我们是否可以通过引入一些信任来提高效率?”

介绍 UltraRelay -- 赞助交易的优化中继

ERC-4337 是一种通用的 AA 协议。然而,在实践中,今天大多数 AA 用例都遵循一个非常具体的模式:DApps 为嵌入式钱包赞助 gas。

UltraRelay 是我们尝试构建一个针对赞助交易的优化中继协议。与 ERC-4337 相比,它通过利用今天赞助流程中已经存在的一些信任假设,实现了显著的 gas 节省和更低的延迟。

今天,一个 DApp 通过首先配置其嵌入式钱包以使用特定的智能账户实现(ZeroDev Kernel)来设置 gas 赞助。然后,DApp 通过 ZeroDev 将交易转发给 bundler 和 paymaster 来赞助 gas。

在这种模式下,系统的各个组件之间已经存在高度的信任:

  • 我们知道用户不会使用恶意的智能账户,因为他们的嵌入式钱包是通过 ZeroDev SDK 创建的。
  • 我们知道 bundler 和 paymaster 都是由同一个实体(ZeroDev)管理的。

鉴于这两个信任假设,UltraRelay 如何优化交易?

信任账户 -- 将验证与执行合并

ERC-4337 的一个核心思想是 “验证-执行分离”,这意味着 UserOps 分为两个阶段处理——验证和执行。这可以防止恶意账户导致 bundler 损失 gas,但它增加了 UserOp 的大小(因为它必须包括验证和执行的 gas 限制),以及使处理 UserOp 的计算成本更高。

但是,由于我们可以信任智能账户,我们可以删除所有与验证阶段相关的 gas 限制(更少的 L1 成本),以及处理验证阶段的逻辑(更少的 L2 成本)。

信任赞助者 -- 合并 bundler 和 paymaster

同样,ERC-4337 分离了 bundler 和 paymaster,并执行复杂的 gas 计量以确保它们不能互相攻击,但正如我们所看到的,在我们的例子中,中继者和赞助者实际上是同一个实体。

因此,如果我们合并中继者(bundler)和赞助者(paymaster),我们可以删除所有与 paymaster 相关的 gas 限制(更少的 L1 成本),以及处理 bundler 和 paymaster 之间交互的逻辑(更少的 L2 成本)。

重要的是,由于钱包不再需要同时与 bundler 和 paymaster 通信,而是简单地与单个中继者通信,因此钱包必须进行的 RPC 调用次数从 4 次减少到 2 次,从而减少了延迟。

基于 ERC-7683 intents 构建

尽管存在诸多缺陷,但 ERC-4337 得到了所有 AA 基础设施提供商的支持,这使得开发者可以在基础设施提供商之间无缝切换。使用自定义中继会失去这种互操作性。

作为补救措施,我们决定在 ERC-7683 之上构建 UltraRelay,这是一个由 Across 和 Uniswap 首次提出的 intent 框架。换句话说,UltraRelay 是一个 ERC-7683 填充器,因此从技术上讲,任何 ERC-7683 填充器都可以为支持 UltraRelay 的智能账户中继交易。

最重要的是,开发者不必在 ERC-4337 和 UltraRelay 之间做出选择。通过使用 ZeroDev,智能账户将与两者兼容,因此开发者仍然可以在需要互操作性时使用 ERC-4337 bundler,但在需要效率时使用 UltraRelay。

还有一件事... 跨链交易

由于 UltraRelay 是一个 ERC-7683 填充器,它也自然支持跨链交易。使用 UltraRelay,你的用户将能够在链之间花费 token,而无需桥接!

基准

我们构建了一个简单的演示来展示 UltraRelay 与 ERC-4337 相比的延迟和 gas 节省:https://ultra-relay-demo.zerodev.app

如你所见,UltraRelay 在延迟和 gas 方面都取得了显著的改进 -- 在 Base 上速度提高了约 40%,成本降低了 30%。

请注意,无论工作负载如何,gas 节省在很大程度上是恒定的,因此如果工作负载本身更昂贵,则百分比会更低。

在实践中,这意味着对于我们使用量最高的客户,UltraRelay 将每月为他们节省 1000 美元到 10000 美元 -- 对于仅更改几行代码来说,这是一笔很大的交易!

4337 的作用

ERC-4337 仍然是可互操作和无需信任的账户抽象的黄金标准。我们认为 ERC-4337 发挥着与当今 Ethereum 公共 mempool 相同的功能 -- 当其他任何方法都行不通时,你可以依赖的东西。

然而,就像现在 Ethereum 流量的很大一部分通过私有 mempool 流动一样,我们认为相当一部分智能账户流量也将通过非标准 mempool 流动,例如 UltraRelay,用于优先考虑其他因素(例如 gas 节省)而不是信任最小化的用例。

开始使用 UltraRelay

UltraRelay 适用于所有模块化的 ERC-4337 账户。只需安装一个插件,你的账户就可以通过 UltraRelay 发送交易,并开始节省 gas 和延迟。

今天,UltraRelay 以私有 Beta 形式提供。开始使用:

  • 如果你已经是 ZeroDev 用户,请 ping 我们,我们将为你进行设置。
  • 如果你还不是 ZeroDev 用户,还在等什么?立即使用当今最强大的智能账户平台开始构建令人惊叹的 Web3 体验:https://docs.zerodev.app
  • 原文链接: docs.zerodev.app/blog/ul...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
zerodev
zerodev
@zerodev_app Founder/CEO Derek