帳戶抽象解析:多鏈實現差異與未來發展趨勢

多鏈帳戶抽象解析:加密基礎設施的未來展望

2024年7月8日至11日,歐洲規模最大的以太坊年度活動——以太坊社區會議在比利時布魯塞爾舉行,重點關注技術和社區發展。本屆會議共有超過350名區塊鏈行業一線意見領袖發表演講,其中包括一位區塊鏈開發人員就"揭示未來:多鏈帳戶抽象解析"這一主題進行了深入探討。

加密基礎設施的未來?多鏈帳戶抽象解析

演講要點概覽

  • 帳戶抽象(AA)的核心在於籤名抽象和支付抽象。前者允許用戶選擇任意驗證機制,後者則提供多樣化的交易支付選項,共同提升了用戶體驗和安全性。

  • ERC-4337和原生AA在驗證和執行階段的入口點函數設計上存在差異。驗證交易的限制和執行交易的步驟在不同實現中各有特點。

  • 在EVM兼容鏈上實施ERC-4337時,Rollup設計中的協議差異和地址計算方式的不同,導致在L1和L2之間實現時出現了一些細微但重要的開發細節。

帳戶抽象概述

帳戶抽象的本質

帳戶抽象主要包含兩個關鍵點:

  1. 籤名抽象:用戶可自由選擇喜歡的驗證機制,不再局限於特定的數字籤名算法。
  2. 支付抽象:用戶可使用多種交易支付選項,如用ERC-20資產替代原生資產支付,或由第三方贊助交易。

這種靈活性爲用戶提供了更安全、更優化的體驗。

ERC-4337簡介

ERC-4337旨在解決以太坊外部擁有帳戶(EOA)的固有限制,引入了更靈活的帳戶管理和交易處理方法:

  • userOp結構:用戶將userOp結構發送給Bundler,後者收集多個userOp並通過調用handleOps函數發送至EntryPoint合約。
  • EntryPoint合約:類似操作系統處理交易,主要功能包括驗證userOp授權、收取費用和執行目標操作。

原生AA概述

在原生AA中,每個帳戶都是一個合約,交易處理機制直接嵌入區塊鏈協議。不同區塊鏈網路採用了不同的AA設計:

  • ERC-4337帳戶抽象:以太坊、Arbitrum、Optimism等多個網路
  • 遵循ERC-4337的原生帳戶抽象:StarkNet和zkSync Era
  • 具有隱私設計的原生帳戶抽象:Aztec

加密基礎設施的未來?多鏈帳戶抽象解析

ERC-4337與原生AA的區別

操作系統角色

AA操作系統需要解決Gas價格、交易順序、入口點函數觸發等問題。ERC-4337通過Bundler和EntryPoint Contract協同完成,而原生AA中用戶直接將userOps發送給官方服務器的操作員/排序器。

合約接口

ERC-4337和原生AA在驗證階段的入口點函數是固定的,但執行階段只有原生AA的入口點是固定的。

驗證步驟限制

爲防止DoS攻擊,各實現對驗證交易設置了不同限制。例如,zkSync Era允許合約邏輯訪問自身存儲槽和特定地址的存儲槽,但禁止訪問全局變量。

執行步驟限制

zkSync要求執行系統調用時確認系統標志存在,而ERC-4337和StarkNet在執行階段沒有特殊限制。

隨機數處理

各實現對隨機數的處理方式不同,如ERC-4337區分密鑰值和隨機數值,zkSync和StarkNet則確保嚴格遞增。

首次交易部署

ERC-4337在userOp結構中包含initcode字段,而StarkNet和zkSync要求用戶將第一筆交易發送給操作員/排序器來部署帳戶合約。

加密基礎設施的未來?多鏈帳戶抽象解析

L1與L2的4337實現差異

協議差異

L2需要將數據上傳至L1以保證安全性和結算,這導致在預驗證Gas中需要包含額外的上傳費用,如何準確確定這些費用是一個重大挑戰。

地址差異

不同鏈上的地址計算方式存在差異,例如zkSync ERA的create函數中地址編碼方式與以太坊和OP匯總不同,StarkNet則使用獨特的哈希函數進行地址計算。

此外,硬分叉中新增的操作碼可能導致編譯後的字節碼發生變化,即使Solidity代碼相同,也可能導致帳戶合約地址在以太坊和L2中不一致。

結語

帳戶抽象作爲加密基礎設施的重要發展方向,其在不同鏈上的實現各有特色。隨着技術的不斷演進,我們期待看到更多創新和優化,爲用戶帶來更加便捷、安全的區塊鏈體驗。

加密基礎設施的未來?多鏈帳戶抽象解析

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 2
  • 分享
留言
0/400
MeaninglessGweivip
· 19小時前
又来划水了 说了等于白说
回復0
ser_we_are_ngmivip
· 20小時前
ser ngmi frfr! aa竟然这么复杂!
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)