多链账户抽象技术深度解析:ERC-4337与原生AA对比

多链账户抽象解析:探索加密基础设施的未来

2024年7月8日至11日,欧洲规模最大的以太坊年度活动——以太坊社区会议(EthCC)在比利时布鲁塞尔举行。本届会议(EthCC 7)汇聚了超过350名区块链行业一线的意见领袖。一位区块链开发人员受邀参与,并发表了题为"揭示未来:多链账户抽象解析"的演讲。

加密基础设施的未来?多链账户抽象解析

演讲要点

  • 账户抽象(AA)的核心包括签名抽象和支付抽象。前者允许用户选择任意验证机制,后者支持多种交易支付选项,提升了安全性和用户体验。

  • ERC-4337和原生AA在验证阶段的入口点函数都是固定的,但执行阶段只有原生AA的入口点是固定的。不同实现在验证交易的限制和执行交易的步骤上各有特点。

  • 在EVM兼容链上实施ERC-4337时,Rollup设计中的协议差异和地址计算方式的差异是两个关键区别,这导致在L1和L2之间实现时出现一些微妙的开发细节。

账户抽象概述

账户抽象的核心

账户抽象(AA)主要包含两个关键点:

  1. 签名抽象:允许用户选择任意验证机制,不局限于特定的数字签名算法。
  2. 支付抽象:支持多种交易支付选项,如使用ERC-20资产代替原生资产支付,或允许第三方赞助交易。

这种灵活性大大提升了安全性和用户体验。

ERC-4337简介

ERC-4337旨在解决以太坊协议中外部拥有账户(EOA)的一些限制:

  • 用户将userOp结构发送给Bundler,后者收集多个userOp并通过调用handleOps函数将它们发送到EntryPoint合约。
  • EntryPoint合约负责处理交易,其主要功能包括:
    1. 调用账户合约的validate函数,确保userOp获得授权。
    2. 收取费用。
    3. 调用账户合约的execute函数,执行userOp的目标操作。

原生AA概述

在原生AA中,每个账户都是一个合约,交易处理机制直接嵌入到区块链协议中。不同区块链网络的AA设计各有特点:

  • ERC-4337账户抽象:以太坊、Arbitrum、Optimism等多个网络
  • 遵循ERC-4337的原生账户抽象:StarkNet和zkSync时代
  • 具有隐私设计的原生账户抽象:Aztec

加密基础设施的未来?多链账户抽象解析

ERC-4337与原生AA的比较

操作系统角色

AA操作系统需要解决的关键问题包括:Gas价格决定、交易顺序确定、入口点函数触发以及交易处理流程。

  • ERC-4337:通过Bundler和EntryPoint Contract协同完成。
  • 原生AA:用户将userOps发送给官方服务器的操作员/排序器。
  • StarkNet:Sequencer负责处理所有任务。
  • zkSync Era:Operator需要与bootloader(系统合约)配合工作。

合约接口

不同实现中的账户合约接口相似,都包含验证和执行阶段的入口点函数。

验证步骤的限制

为防止DoS攻击,各实现对验证交易设置了不同的限制:

  • ERC-4337:定义了禁止的操作码和存储访问限制。
  • zkSync Era:放宽了部分OpCode使用,但限制了存储访问和全局变量访问。
  • StarkNet:不允许外部合约调用。

执行步骤的限制

  • zkSync:需要确认系统标志才能执行系统调用。
  • ERC-4337和StarkNet:执行阶段没有特殊限制。

随机数处理

各实现在随机数管理上有所不同:

  • ERC-4337:区分192位密钥值和64位随机数值。
  • zkSync:使用NonceHolder系统合约管理,确保严格递增。
  • StarkNet:也是严格递增,但没有特定合约管理。

首次交易部署

  • ERC-4337:通过userOp结构中的initcode字段在首个userOp中部署账户合约。
  • StarkNet和zkSync:用户需将首笔交易发送给算子/排序器来部署账户合约。

加密基础设施的未来?多链账户抽象解析

L1与L2的4337实现差异

在EVM兼容链上实施ERC-4337时,主要存在两个关键差异:

1. 协议差异

Rollup设计中,L2需要将数据上传到L1以确保安全和结算。这涉及额外的费用(如L1安全费和blob费用),需要在预验证Gas中考虑,这是一个重大挑战。

2. 地址差异

不同链的地址计算方式存在差异:

  • zkSync ERA的create函数中的地址编码方式与以太坊和OP汇总不同。
  • StarkNet使用独特的哈希函数进行地址计算。

在EVM兼容链上实现ERC-4337时,通常假设地址计算在各链上是一致的。然而,硬分叉中添加新操作码可能导致字节码改变,进而影响地址计算结果。

结语

账户抽象技术正在快速发展,为区块链基础设施带来新的可能性。不同实现方式各有优劣,开发者需要深入理解这些差异,以便在不同场景下做出最优选择。随着技术的不断演进,我们期待看到更多创新应用和解决方案的出现,进一步推动区块链生态系统的发展。

加密基础设施的未来?多链账户抽象解析

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 4
  • 分享
评论
0/400
汤米老师vip
· 07-11 15:50
还用多链来晃荡?新时代一键登陆不懂吗
回复0
GasGuruvip
· 07-11 15:48
燃气费太贵 散户没活路
回复0
破产艺术家vip
· 07-11 15:30
AA牛批 大佬们都在研究这个
回复0
破产_倒计时vip
· 07-11 15:24
别说啥AA了 跟你说我就快破产了
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)