多鏈帳戶抽象技術深度解析: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)