理解帳戶抽象ERC4337如何導致乙太坊帳戶的發展?

作者:瑞

一文读懂账户抽象ERC4337如何带来以太坊账户的进化?

正如許多人所說,帳戶抽象(AA)技術,尤其是ERC-4337,有望徹底改變自我託管錢包的用戶體驗,並允許其擴展大規模採用。 然而,隨著 2023 年 5 月的臨近,我們必須認識到該標準仍處於早期階段,機遇和風險並存。

請注意,隨著升級的快速發展,本文的內容可能會很快過時,本文僅基於我個人的觀點。

一文读懂账户抽象ERC4337如何带来以太坊账户的进化?

TL; 災難恢復

ERC4337:

AA標準仍處於早期階段,但許多創新建設者正在努力進一步發展它。 在生態系統的支援和小狐狸錢包等大型產品的普及下,我們可以期待AA加快其開發進程併產生令人興奮的結果。

L2:

AA 的採用因 L2 解決方案而異。 較大的L2(例如Optimism和Arbitrum)本身不支援AA,而ZKSync和Starknet則支援。

捆綁服務:

  • 如果我們看好 AA,並且所有與乙太坊對齊的 EVM 等效 L2 不支援本機 AA,那麼 Bundler 服務對於在網路中支援 AA 是必要的。
  • 開源功能使捆綁服務成為非獨佔服務,這使得貨幣化變得困難。 為了保證網路的穩定性,需要使用不同的捆綁服務。
  • 私人捆綁商可以通過根據特定需求定製隱私、安全性和其他功能來獲利。

支付主管服務:

  • Paymaster服務相對集中(與Bundler服務相比),合同是開源的,但後端是封閉的。
  • Paymaster服務具有貨幣化模式,可以與法定貨幣存款,兌換,橋接,自動支付,會話,贊助費等功能相結合,以增強支付場景,從而提高dApp的可用性。

AA錢包和SDK:

  • AA錢包可以從產品角度進行評估,包括密鑰管理系統,社會恢復,汽油費贊助,多鏈帳戶同步和支援的區塊鏈。
  • AA 的好處不僅僅是提供流暢的登錄體驗(Web3 身份驗證是託管的)。 AA 還可以在複雜和定製的鏈上交互中為 dApp 提供許多好處。
  • BD是這場戰鬥的關鍵。 大多數錢包針對Defi,GameFi,旨在獲得生態系統支援,說服大型dApp並找到突破口。
  • 貨幣化模式需要進一步探索。 To Business(To B)模式可能賺不到多少錢,也不會積累自己的使用者,而To Customer(To C)模式需要尋找高價值場景,並根據數量獲利。 集成交換和橋接功能可以盈利,但關鍵是要找到可持續的模式。

瞭解加密錢包

分類

乙太坊網路上有兩種類型的帳戶:外部擁有的帳戶(EOA)錢包,如小狐狸錢包,和合約帳戶(CA),如保險箱。

EOA錢包和合約錢包之間的主要區別在於它的控制方式。 EOA錢包由個人用戶通過私鑰控制,而合約錢包由智慧合約控制。 雖然EOA錢包更簡單,用於管理個人加密資產持有量,但合約錢包可以有更複雜的規則,可以用於特定目的。

一文读懂账户抽象ERC4337如何带来以太坊账户的进化?

來自比特幣內幕

痛點

EOA錢包使用者需要注意保護私鑰。 私鑰上的任何錯誤或遺漏都可能導致資金損失,因此使用EOA錢包更加昂貴和風險。 即使是經驗豐富的加密資產使用者也可能由於一個錯誤或粗心的舉動而失去對其帳戶的控制。 操作的複雜性,無法跳過汽油費或支付汽油費,以及錢包功能有限都是困擾用戶的問題。

智慧合約錢包為其中一些問題提供了解決方案,但乙太坊目前要求所有操作都打包在受ECDSA保護的EOA的交易中。 這會產生額外的交易費用和額外的 21,000 gas 費用,隨之而來的是潛在的中心化風險和複雜性:使用者需要管理兩個帳戶並將ETH存入單獨的 EOA 以支付 gas 費用,或者依靠集中式中繼系統來支付。

這些痛點催生了新的AA標準ERC-4337。

ERC4337建議:

CA的問題

如今,這些事情都可以通過合約錢包來解決,但乙太坊本身要求所有內容都打包在從受 ECDSA 保護的 EOA 派生的交易中,這將導致:

額外交易費用:每個使用者操作必須由 EOA 發起,從而產生額外的 21,000 gas 費用。 複雜性和集中性:使用者需要將ETH存入單獨的EOA中,以支付gas費用並管理兩個帳戶中的餘額,或者依靠Relay系統進行支付,Relay通常是集中的。

多年來,已經有幾次嘗試在基於乙太坊的區塊鏈上實現帳戶抽象,例如 EIP-86 和 EIP-2938。 但是,這些方法都不起作用,因為它們都需要對共識層進行更改,這很難實現。

4337機制

ERC-4337通過引入一個名為UserOperation的更高級別的偽交易對象來實現帳戶抽象,該物件在捆綁概念方面類似於匯總。 幸運的是,這個標準允許我們在不改變共識層的情況下構建帳戶抽象。

EIP 4337 的模組化設計將智慧合約錢包帳戶抽象劃分為多個埠:

捆綁器

  • 捆綁器是一個EOA。 由於所有交易都必須由EOA發起,捆綁器允許使用者觸發智慧合約錢包交易,而無需創建和記住EOA私鑰。
  • 捆綁器的作用:驗證使用者操作,將一組使用者操作物件打包到單個“捆綁事務”中。 將經過身份驗證的使用者操作內容廣播到公共或專用記憶體池。
  • Bundler 還通過在執行使用者操作後將最高優先順序費用與實際 gas 費用之間的差額收入囊中,從而在經濟上受益。 與普通事務的中繼類似,捆綁器通過對捆綁事務中的使用者操作進行排序來獲取MEV。

入口點

  • 入口點是一個全域合約,所有捆綁器都需要調用該合約才能執行使用者操作。 入口點充當捆綁器和智慧合約錢包之間的仲介。
  • 使用 handleOp 驗證並執行:handleOp 函數使用 UserOperation 作為輸入參數,首先驗證鏈上的 UserOperation,檢查它是否由指定的智慧合約錢包地址簽名,錢包有足夠的 gas 費用來補償捆綁器。 如果驗證成功,則根據函數簽名執行輸入參數。

需要存入智慧合約錢包的代幣向捆綁器支付 gas 費用:當捆綁器使用 EOA 觸發句柄操作時,會產生 gas 費。 智慧合約錢包可以用自己的餘額支付汽油費,也可以要求Pymaster支付。 可能失敗:gas費用不足,驗證步驟失敗,即使gas費用足夠,UserOperation執行步驟也可能失敗,例如運行時錯誤。 無論執行是否成功,入場點合約都會向捆綁器支付gas費用以觸發handleOp功能。 入口點合約為智慧合約錢包提供了添加或提取代幣作為抵押品的能力。

智慧錢包:

智慧合約錢包主合約將使用者操作的驗證和執行步驟分開。 通過解耦,捆綁器可以在鏈下驗證使用者操作,過濾掉惡意交易,而無需支付gas費用。

驗證步驟在 validateOp 函數中定義:第一次調用 validateOp,捆綁器類比鏈下驗證,驗證 UserOperation 中的簽名,並確保智慧合約錢包有足夠的 gas 餘額,第二次調用 validateOp 是入口點合約,在執行 UserOperation 之前進行鏈上驗證。

付款主管 :

  • Paymaster定義了智慧合約錢包的gas抽象邏輯,包括使用ERC20 Fungible Token支付乙太坊gas費用以及沒有gas費用的交易。
  • Paymaster是由dApp部署的智能合約,可以觸發Paymaster的驗證PaymasterOp。

錢包工廠 :

  • 錢包工廠是創建智慧合約錢包的公共合約。 當錢包工廠位址和新的智慧合約錢包參數被植入initCode時,捆綁器將觸發相應的錢包工廠創建具有指定參數的智能合約。 流行的錢包工廠代碼經過全面審查,因此使用錢包工廠創建錢包更安全。
  • 錢包工廠需要在入口點質押ETH,並繼續為使用者運營提供良好的服務,以便從捆綁器獲得更多流量。
  • 使用者可以提交一個充滿initCode的使用者操作,並要求捆綁器創建一個CA錢包。 *使用者可以選擇具有特定自定義參數的錢包工廠來自定義他們的CA錢包。

簽名聚合器:

  • 簽名聚合器用於將多個交易的簽名聚合為位元組,以便更快地驗證和執行交易。 不同的智慧合約錢包使用不同的簽名演演演算法,需要先使用相同的簽名演演演算法聚合使用者操作。
  • 節省gas費用:由於鏈上加密計算消耗大量gas費用,聚合簽名方案(如BLS)在驗證鏈上時可以節省gas費用。
  • Bundler 使用多個簽名聚合器合約來生成多個聚合簽名,而不是一次驗證一個使用者操作。
  • 捆綁器將使用者操作陣列、聚合簽名和聚合器地址傳遞給入口點,每個使用者操作組會議調用其對應簽名聚合器的 validateSignature 函數。
  • 驗證后,捆綁器將在智慧合約錢包上執行這組使用者操作。
  • 聚合商還需要在入口點合約上質押乙太坊,並保持良好的使用者操作服務記錄。

AA的優勢

氣體抽取:

gas抽象不包含gas費用交易,並使用任何ERC20代幣支付gas費用。 該邏輯可以在Paymaster合同中執行,也可以通過中繼執行。 對於AA來說,很多智慧合約錢包本身可以實現符合EIP 4337的Paymaster合約,並在入口點合約上質押Token,幫助使用者支付gas費用。

社會恢復:

如果私鑰丟失或洩露,使用者可以授權新的金鑰作為合法的錢包擁有者。 社交登錄和社交恢復的邏輯一般在錢包的主合約中定義。 它可以通過多種方式完成,例如電子郵件,多重簽名,MPC或SWIE(使用乙太坊登錄)。

交易批次:

交易批處理是智慧合約錢包獨有的功能,它允許錢包使用者在單個鏈上交易中執行多個交易。

跨鏈交互與連接橋接集成:

目前,許多錢包正在與第三方供應商合作,將法定貨幣存款和取款管道以及跨鏈交互橋集成到錢包中。 這些存取款通道和跨鏈交互橋可以進一步與gas抽象中的支付合約(Paymaster)集成。

模組化設計:

也許AA最大的優勢之一是其模組化服務,其中捆綁器,Paymaster和其他部分可以靈活組合。

AA 中的缺陷

一文读懂账户抽象ERC4337如何带来以太坊账户的进化?

從堆疊

手續費相對較高:

使用ERC-4337進行簡單的轉帳比使用傳統錢包(通常稱為EOA)要昂貴得多,因為前者需要調用合約。

但是,在匯總網路上,使用 ERC-4337 進行簡單傳輸可能比 EOA 便宜,因為它將簽名聚合在一起以減少主網上的數據量。

標準尚未最終確定:

挑戰包括:由於擴展事務可擴展性而導致的攻擊媒介增加,遷移到新標準時可能出現未知錯誤或安全風險,需要強大而安全的全球入口點合同來確保所有交易都得到正確簽名和驗證,等等。

第 2 層

  • ✅ 並❌指示是否支援本機 AA。 *

**樂觀: ❌ **

樂觀版本 1 有三個 OVM 操作代碼,實現智慧合約錢包帳戶抽象。 但是,出於一致性和安全原因,版本 2 刪除了這些操作代碼,並且沒有關於支持帳戶抽象的官方聲明。

**仲裁: ❌ **

雖然目前有一些智慧合約錢包建立在Arbitrum之上,但沒有關於支持帳戶抽象的官方聲明。

**斯塔克網: ✅ **

Starknet只有具有驗證和執行功能的智慧合約帳戶,所有帳戶都必須實現這些功能來驗證簽名並確保gas費用。 Starknet禁止驗證函數調用外部合約狀態,以防止未執行的交易。 然而,Starknet和乙太坊之間存在一些差異,例如缺乏UserOperations,類似於Paymaster的交易費用抽象協定,以及需要一個具有Token餘額的帳戶來創建新合約。 此外,如果經過驗證的交易失敗,Starknet的音序器不能收取汽油費,而乙太坊可以。

**zkSync: ✅ **

zkSync 不區分 EOA 和合約帳戶。 其帳戶模型類似於 EIP 4337,包括單獨的 validateTransactiom 和 uteTransaction 函數。 Paymaster介面還包括validateAndPayForPaymasterTransaction和postOp函數。 但是,存在一些差異,例如在驗證過程中調用已部署的外部協定和外部存儲的能力。 Paymaster還可以在交易驗證期間調用外部存儲。

AA 基礎設施:

目前,一些優秀的專案,如Stackup,Etherspot,Candide,Infinistism和Pimlico正在嘗試構建基礎設施。

捆綁服務:

建造者:

  • Stackup 的 Golang 實現
  • Candide 的 Python 實現
  • 不定式的類型實現 Skandha - Etherspot 的類型實現

一些共識:

公共服務

絕大多數捆綁器的開源性質使它們具有非排他性和非競爭力。 任何 RPC 端點都可以通過複製開原始程式碼來運行捆綁器。

  • 難以貨幣化

即使運行 Bundler 的 RPC 端點通過 API 金鑰收取服務使用費,Bundler 服務也比其他基礎設施(如支付合同 Paymaster)更難貨幣化,因為 Paymaster 可以通過與第三方存取款供應商或去中心化金融協定聚合器供應商合作輕鬆賺取費用差額。

關鍵基礎設施

驗證和執行使用者操作需要盡可能多的捆綁器,以實現更好的去中心化。 由於目前唯一的第三方 Bundler 服務提供者是 Stackup 和 eth-infinitism,我們確實需要更多這樣的 Bundler 服務提供者。

機制**

捆綁器自行傳遞消息並傳播使用者操作,類似於共用記憶體池,而無需就特定事項達成一致。 Bundler 具有過濾垃圾郵件的重要功能,出於自身的財務原因,Bundler 希望盡可能多地監控以確保記憶體池的安全。

捆綁服務之間的差異:

  • 捆綁服務可以是通用基礎設施,也可以是專門為錢包構建的。 錢包專案可能會優先構建最基本的捆綁器,而第三方供應商必須針對各種場景構建模組化捆綁器。
  • 與乙太坊節點類似,捆綁服務以不同的程式設計語言實現,以防止單點故障並使生態系統受益。
  • 捆綁器服務支援私有和公共記憶體池,併為私有記憶體池提供自定義選項。

付款主管服務

  • 與 Bundler 服務相比,Paymaster 服務更加集中,合約是開源的,但後端是封閉的。
  • Paymaster 服務具有貨幣化模式,可以通過結合法定貨幣存款、交易所、橋接、自動付款、會話、贊助費和其他功能來提高 dApp 的可用性。

AA 錢包和 SDK:

產品評價

  • 金鑰管理系統:
    • 多重簽名邏輯(安全):只能實現 2/3 和 3/5 多重簽名邏輯;
    • 簡單許可權管理(順序):您可以設置金鑰的權重,然後為操作帳戶設置閾值。
    • 基於角色的許可權管理(Unipass):您可以設置金鑰的權重和角色。 不同的角色可以執行不同的操作。 每個角色也有相應的閾值。 如果超過此閾值,則可以強制執行相應角色的許可權。
  • 社會復原方法 *汽油費贊助:建立自己的繼電器,或設置捆綁器+付款管理員
  • 多鏈帳號同步
  • 多鏈位址統一 *支持區塊鏈

商業

  • 商業模式:至 b/ 至 B + 至 C / ToC *與dApp合作:與每個鏈上的穩定幣或去中心化金融等大型基礎設施dApp合作 *實用程式:集成不可替代的代幣市場,啟動板等。
  • 外部支援:來自乙太坊基金會或其他知名風險投資機構
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
  • 置頂

交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)