請輸入關鍵字:

熱門搜尋:

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

日期:2024年7月10日 下午4:30

作者:Alfred,imToken Labs 開發者

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

2024 年 7 月 8 日至 11 日,以太坊社區會議(EthCC)在比利時布魯塞爾舉行,這是歐洲規模最大的以太坊年度活動,重點關注技術和社區。

本屆以太坊社區會議(EthCC 7)共有超過 350 名活躍在區塊鏈行業一線的意見領袖發表演講,imToken Labs Alfred 受邀參與,並在大會上發表主題為「揭示未來:多鏈賬戶抽象解析」的演講。

演講概要速覽:

  • 賬戶抽象(AA)主要包括兩個關鍵點:簽名抽象和支付抽象。簽名抽象讓用戶可以選擇任何喜歡的驗證機制,支付抽象則允許使用多種交易支付選項。這種靈活性提供了更安全、更優的用戶體驗。
  • 在 ERC-4337 和原生 AA 中,「驗證」階段的入口點函數是固定的,而在「執行」階段,只有原生 AA 中的入口點是固定的。驗證交易的限制和執行交易的步驟在不同實現中有各自的特點和限制。
  • 在 EVM 兼容鏈上實施 ERC-4337,有兩個關鍵區別:Rollup 設計中的協議差異和地址計算方式的差異,導致在 L1 和 L2 之間實現 ERC-4337 時出現難以注意的開發細節。

以下為演講全文:

大家好,我是 Alfred,現任 imToken Labs 的區塊鏈開發人員。今天,我向大家介紹 ERC-4337 和 Native AA 的概念,討論它們之間的差異,並重點分析 L1 和 L2 的 4337 標准的主要區別。

賬戶抽象介紹

1. 什麽是賬戶抽象

賬戶抽象(AA)主要包括兩個關鍵點:簽名抽象和支付抽象。

  • 簽名抽象:用戶可以選擇任何喜歡的驗證機制,而不僅限于某些數字簽名算法(如 ECDSA)。
  • 支付抽象:用戶可以使用多種交易支付選項,如使用 ERC-20 資産代替原生資産支付,或讓第三方贊助交易。

這種靈活性提供了更安全、更優的用戶體驗。賬戶抽象的目標是通過多種方式實現這兩個關鍵點。

2. 什麽是 ERC-4337

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

目前,以太坊協議中的外部擁有賬戶(EOA)存在一些限制,例如固定的簽名方法和支付設計。ERC-4337 通過引入更靈活的賬戶管理和交易處理方法來解決這些問題。

  • userOp 結構:在 ERC-4337 中,用戶將 userOp 結構發送到 Bundler。Bundler 收集多個 userOp,並通過調用 handleOps 函數將它們發送到 EntryPoint 合約。
  • EntryPoint 合約:該合約像操作系統一樣處理交易,主要功能包括:
  • 調用賬戶合約中的 validate 函數,確保 userOp 獲得賬戶所有者授權。
  • 收取費用。
  • 調用賬戶合約中的 execute 函數,執行 userOp 的目標操作。

3. 什麽是原生 AA

在以太坊中,賬戶分為 EOA 和合約賬戶。然而,在原生 AA 中,每個賬戶都是一個合約,且交易處理機制直接嵌入到區塊鏈協議中。

各區塊鏈網絡中的 AA 設計:

  • ERC-4337 賬戶抽象:以太坊、Arbitrum、Optimism、Base、Linea、Scroll、Polygon PoS
  • 原生賬戶抽象遵循 ERC-4337:StarkNet & zkSync 時代
  • 具有隱私設計的原生賬戶抽象:Aztec

如果你對 Aztec Native AA 或 EIP-3074、EIP-7702 感興趣,今天我們將重點關注 ERC-4337 之後的原生 AA。詳細信息請參考我寫的文章,列在文末。

ERC-4337 和原生 AA 的區別

1. 操作系統角色

AA OS 需要回答以下問題:

  • 誰決定 Gas 價格?
  • 誰決定交易順序?内存池在哪里?
  • 誰觸發入口點函數?
  • 什麽決定了交易處理的流程?

在 ERC-4337 中,這些角色通過 Bundler 和 EntryPoint Contract 協同完成。

在原生 AA 中,用戶將其 userOps 發送給官方服務器的操作員 / 排序器,而不是 Bundler 和 EntryPoint Contract。

在 StarkNet 中,Sequencer 負責處理所有這些任務。

在 zkSync 中,Era 與其他 AA 實現的主要區別在于 Operator 需要與 bootloader(系統合約)配合工作。Bootloader 打開一個新塊,定義其參數(包括塊參數和其他 Gas 參數),並接收來自 Operator 的交易以進行驗證。

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

2. 合約接口

由于三個步驟的存在,賬戶合約接口在不同實現中是相似的,這些入口點函數只能由 AA OS 調用:

  • ERC-4337:驗證用戶操作
  • zkSync:驗證交易、交易支付、執行交易
  • StarkNet:execute、validate、validate_declare、validate_deploy

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

3. 驗證步驟的限制

由于驗證交易沒有成本限制(本質上,驗證交易是調用視圖函數),攻擊者可以對内存池進行 DoS 攻擊,從而破壞捆綁器(EIP-4337)或運算符 / 排序器(原生 AA)。

EIP-4337 定義了禁止哪些操作碼以及如何限制存儲訪問。zkSync Era 放寬了一些 OpCode 的使用:

  • 合約邏輯只能訪問自己的存儲槽。如果賬戶合約的地址是地址 A,它可以訪問:
  • 屬于地址 A 的存儲槽
  • 屬于任何其他地址 A 的存儲槽
  • 屬于任何其他地址的存儲槽 keccak256 (A || X):這意味著直接使用地址作為映射中的鍵(例如,映射 (address => value) ),相當于訪問槽 keccak256 (A || X)。例如,ERC-20 合約中的資産余額。
  • 合約邏輯無法訪問全局變量,例如區塊號。StarkNet 也不允許外部合約調用。

4. 執行步驟的限制

在 zkSync 中,執行系統調用需要確認系統標志的存在。例如,增加 nonce 的唯一方法是與 NonceHolder 交互,而部署合約則需要與 ContractDeployer 交互。系統標志確保賬戶開發人員有意識地與系統合約進行交互。

在 ERC-4337 和 StarkNet 中,執行階段沒有特殊限制。

5. 隨機數

  • 在 ERC-4337 中,入口點隨機數的設計區分了 192 位密鑰值和 64 位隨機數值。
  • 在 zkSync 中,NonceHolder 系統合約管理 nonce,確保嚴格遞增,即將隨機數增加 1。
  • 在 StarkNet 中,nonce 也是嚴格遞增的,但是沒有抽象的 nonce 來由特定的合約管理。

6. 使用第一個事務進行部署

  • ERC-4337 在 userOp 結構中包含 initcode 字段,以在其第一個 userOp 中部署發送者(賬戶合約)。
  • 在 StarkNet 和 zkSync 中,用戶必須將第一筆交易發送給算子 / 排序器來部署賬戶合約。

7. zkSync 中的特殊設計

如果你直接將 ETH 從以太坊 EOA 轉移到 zkSync, 無需部署定制賬戶合約,你將收到一個具有相同地址的默認賬戶。該賬戶可以像以太坊 EOA 一樣工作,並且也由相應的以太坊 EOA 的私鑰控制。

這賬戶類型是版本 None 而不是 version1 。你不能調用 DefaultAccount 的函數,因為它沒有在内核空間部署任何代碼。

L1 的 4337 和 L2 的 4337 的區別

在 EVM 兼容鏈上實施 ERC-4337 有兩個關鍵區別:協議差異和地址差異。

1. 協議差異

Rollup 設計中,L2 需要將數據上傳到 L1 以進行安全和結算。在 ERC-4337 的背景下,與此上傳過程相關的費用,例如 L1 安全費和 blob 費用,應該 被包括在内在預驗證 Gas 中。確定預驗證 Gas 中適當的上傳費用是一個重大挑戰。

2. 地址差異

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

zkSync ERA 的 create 函數中的地址編碼方式與以太坊和 OP 匯總不同。此外,StarkNet 使用獨特的哈希函數進行地址計算。在 EVM 兼容鏈上的 ERC-4337 背景下,我們通常假設地址計算在各鏈上是一致的。然而,有一個難以注意的細節可能會導致以太坊和 L2 中的 ERC-4337 實現之間的賬戶合約地址不同。

關鍵問題是在硬分叉中添加新的操作碼。例如,如果 L2 鏈不支持上海硬分叉,並且在編譯時未指定 EVM 版本,push0 的引入會導致字節碼改變,即使 Solidity 代碼是相同的。

結語

以下是一些資源,供你了解更多有關賬戶抽象的信息。請隨時聯系我,如果你有任何疑問,可以在 Twitter 上找到我(@murmurlu)。

《Aztec 賬戶抽象介紹》,請查閱:

https://medium.com/@ChiHaoLu/introduction-of-aztec-account-abstraction-98535c9edf2e

《StarkNet 賬戶抽象介紹》,請查閱:

https://medium.com/taipei-ethereum-meetup/introduction-of-starknet-account-abstraction-2c343b561d6e

《zkSync 賬戶抽象介紹》,請查閱:

https://medium.com/taipei-ethereum-meetup/zksync-%E4%B8%AD%E7%9A%84%E5%8E%9F%E7%94%9F-account-abstraction-%E4%BB%8B%E7%B4%B9-bc7269f8893a

《Starknet 和 zkSync:比較分析》,請查閱:

https://medium.com/nethermind-eth/starknet-and-zksync-a-comparative-analysis-d4648786256b

内容来源:PANews

財華網所刊載內容之知識產權為財華網及相關權利人專屬所有或持有。未經許可,禁止進行轉載、摘編、複製及建立鏡像等任何使用。

如有意願轉載,請發郵件至content@finet.com.hk,獲得書面確認及授權後,方可轉載。

下載財華財經APP,把握投資先機
https://www.finet.com.cn/app

更多精彩内容,請點擊:
財華網(https://www.finet.hk/)
財華智庫網(https://www.finet.com.cn)
現代電視FINTV(https://www.fintv.hk)

相關文章

7月10日
全球支付的未來?萬字解析Web3支付賽道
7月10日
微軟和蘋果放棄在OpenAI董事會的觀察員席位
7月10日
10x Research:別慌,加密市場8月就反轉
7月10日
致Web3項目創始人:發幣之後,如何做好上所、做市與宣發工作?
7月10日
Wasabi Wallet:名為WasabiCoordinator的協調器正竊取用戶資金,將很快發布新版本以防止此類攻擊
7月10日
BTC恐貪指數跌至18個月以來最低,「大底部」已至?
7月10日
IOSG:圖解AI與Web3的融合盛景
7月10日
分析:近期出售比特幣的不是德國,而是其所屬州之一
7月10日
人工智能初創公司Captions完成6000萬美元融資,Index Ventures領投
7月9日
MetaMask開發公司Consensys發布新的開發工具包「MetaMask Delegation Toolkit」

視頻

快訊

19:38
「降價」信號強化!紙業股集體下滑,玖龍紙業跌超8%
19:32
天瑞汽車内飾大跌逾41%,股價上演「過山車」
17:32
威勝控股(03393.HK)附屬中標巴西CPFL項目 合同金額超8000萬元
17:21
渤海銀行(09668.HK):聘任謝凱擔任首席信息官
17:19
國務院辦公廳發佈《關於全鏈條打擊涉煙違法活動的意見》
17:11
海天味業(603288.SH)未來三年每年現金分紅比例不低於80%
17:01
和嘉控股(00704.HK)要求上市覆核委員會覆核上市委員會的決定
16:51
環球醫療(02666.HK):馬萬銘獲任非執行董事
16:45
中國光大控股(00165.HK):蘇揚獲任執行董事兼副總裁
16:41
【港股收評】三大指數漲跌不一!紙業股領跌,航空股現5連漲