深度解析:多链账户抽象技术的现状与未来发展

robot
摘要生成中

多链账户抽象:揭示加密基础设施的未来

2024年7月8日至11日,欧洲规模最大的以太坊年度活动——以太坊社区会议(EthCC)在比利时布鲁塞尔举行。本届会议(EthCC 7)共有超过350名区块链行业一线意见领袖发表演讲,其中包括imToken Labs开发者Alfred,他就"多链账户抽象解析"这一主题进行了深入探讨。

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

演讲要点

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

  • ERC-4337和原生AA在验证和执行阶段的入口点函数设计上存在差异。ERC-4337的验证阶段入口点固定,而执行阶段不固定;原生AA则两个阶段的入口点均固定。

  • 在EVM兼容链上实施ERC-4337时,Rollup设计中的协议差异和地址计算方式的不同,导致L1和L2之间实现存在细微但重要的差别。

账户抽象概述

账户抽象的本质

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

  1. 签名抽象:允许用户选择任何喜欢的验证机制,不再局限于特定的数字签名算法。

  2. 支付抽象:用户可以使用多种方式支付交易费用,如使用ERC-20代币替代原生资产,或由第三方赞助交易。

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

ERC-4337解析

ERC-4337旨在克服以太坊外部拥有账户(EOA)的局限性,引入了更灵活的账户管理和交易处理方法:

  • userOp结构:用户将userOp发送给Bundler,后者收集多个userOp并通过调用handleOps函数发送到EntryPoint合约。

  • EntryPoint合约:作为交易处理的核心,主要功能包括:

    1. 调用账户合约的validate函数,验证userOp授权。
    2. 收取费用。
    3. 调用账户合约的execute函数,执行userOp目标操作。

原生AA概述

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

  • ERC-4337账户抽象:以太坊、Arbitrum、Optimism、Base、Linea、Scroll、Polygon PoS
  • 遵循ERC-4337的原生账户抽象:StarkNet和zkSync Era
  • 具有隐私设计的原生账户抽象:Aztec

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

ERC-4337与原生AA的比较

操作系统角色

AA操作系统需要解决以下问题:

  • Gas价格的决定
  • 交易顺序的确定和内存池位置
  • 入口点函数的触发
  • 交易处理流程的定义

ERC-4337通过Bundler和EntryPoint Contract协作完成这些任务。而在原生AA中,用户将userOps直接发送给官方服务器的操作员/排序器。

StarkNet中,Sequencer负责处理所有这些任务。zkSync Era则需要Operator与bootloader(系统合约)配合工作。

合约接口

账户合约接口在不同实现中大致相似,都包含由AA操作系统调用的入口点函数:

  • ERC-4337:验证用户操作
  • zkSync:验证交易、交易支付、执行交易
  • StarkNet:execute、validate、validate_declare、validate_deploy

验证步骤限制

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

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

执行步骤限制

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

随机数处理

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

首次交易部署

  • ERC-4337在userOp结构中包含initcode字段,用于首次部署账户合约。
  • StarkNet和zkSync要求用户将首笔交易发送给操作员/排序器来部署账户合约。

zkSync特殊设计

zkSync允许用户直接将ETH从以太坊EOA转移,无需部署自定义账户合约即可获得相同地址的默认账户,该账户可像以太坊EOA一样运作。

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

L1与L2上的ERC-4337实现差异

协议差异

L2需要将数据上传至L1以确保安全和结算。在ERC-4337中,相关的L1安全费和blob费用应包含在预验证Gas中,这给确定适当的上传费用带来了挑战。

地址差异

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

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

此外,硬分叉中新增的操作码可能导致字节码变化,进而影响账户合约地址的一致性。例如,如果L2链不支持上海硬分叉,且编译时未指定EVM版本,push0的引入会改变字节码。

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

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 8
  • 分享
评论
0/400
ApeWithNoFearvip
· 07-16 16:34
又在吹所谓安全性
回复0
睡不醒的套利猫vip
· 07-16 13:16
啊....等gas低点再说吧
回复0
空投舔狗vip
· 07-13 17:10
开会开会 又开会 啥时发币啊
回复0
闪电站岗人vip
· 07-13 17:10
啥时候普通用户能用上啊
回复0
币圈资深幸存者vip
· 07-13 17:08
这才是真正的mass adoption 所需要的!
回复0
LiquidityWizardvip
· 07-13 16:59
老实说,aa现在大约有99.8%被高估了。
查看原文回复0
GateUser-2fce706cvip
· 07-13 16:56
抄底囤货的最佳时机,aa赛道已经势不可挡了
回复0
WalletDetectivevip
· 07-13 16:46
未来就在眼前 香啊
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)