作者:瑞
正如許多人所說,帳戶抽象(AA)技術,尤其是ERC-4337,有望徹底改變自我託管錢包的用戶體驗,並允許其擴展大規模採用。 然而,隨著 2023 年 5 月的臨近,我們必須認識到該標準仍處於早期階段,機遇和風險並存。
請注意,隨著升級的快速發展,本文的內容可能會很快過時,本文僅基於我個人的觀點。
ERC4337:
AA標準仍處於早期階段,但許多創新建設者正在努力進一步發展它。 在生態系統的支援和小狐狸錢包等大型產品的普及下,我們可以期待AA加快其開發進程併產生令人興奮的結果。
L2:
AA 的採用因 L2 解決方案而異。 較大的L2(例如Optimism和Arbitrum)本身不支援AA,而ZKSync和Starknet則支援。
捆綁服務:
支付主管服務:
AA錢包和SDK:
乙太坊網路上有兩種類型的帳戶:外部擁有的帳戶(EOA)錢包,如小狐狸錢包,和合約帳戶(CA),如保險箱。
EOA錢包和合約錢包之間的主要區別在於它的控制方式。 EOA錢包由個人用戶通過私鑰控制,而合約錢包由智慧合約控制。 雖然EOA錢包更簡單,用於管理個人加密資產持有量,但合約錢包可以有更複雜的規則,可以用於特定目的。
來自比特幣內幕
EOA錢包使用者需要注意保護私鑰。 私鑰上的任何錯誤或遺漏都可能導致資金損失,因此使用EOA錢包更加昂貴和風險。 即使是經驗豐富的加密資產使用者也可能由於一個錯誤或粗心的舉動而失去對其帳戶的控制。 操作的複雜性,無法跳過汽油費或支付汽油費,以及錢包功能有限都是困擾用戶的問題。
智慧合約錢包為其中一些問題提供了解決方案,但乙太坊目前要求所有操作都打包在受ECDSA保護的EOA的交易中。 這會產生額外的交易費用和額外的 21,000 gas 費用,隨之而來的是潛在的中心化風險和複雜性:使用者需要管理兩個帳戶並將ETH存入單獨的 EOA 以支付 gas 費用,或者依靠集中式中繼系統來支付。
這些痛點催生了新的AA標準ERC-4337。
如今,這些事情都可以通過合約錢包來解決,但乙太坊本身要求所有內容都打包在從受 ECDSA 保護的 EOA 派生的交易中,這將導致:
額外交易費用:每個使用者操作必須由 EOA 發起,從而產生額外的 21,000 gas 費用。 複雜性和集中性:使用者需要將ETH存入單獨的EOA中,以支付gas費用並管理兩個帳戶中的餘額,或者依靠Relay系統進行支付,Relay通常是集中的。
多年來,已經有幾次嘗試在基於乙太坊的區塊鏈上實現帳戶抽象,例如 EIP-86 和 EIP-2938。 但是,這些方法都不起作用,因為它們都需要對共識層進行更改,這很難實現。
ERC-4337通過引入一個名為UserOperation的更高級別的偽交易對象來實現帳戶抽象,該物件在捆綁概念方面類似於匯總。 幸運的是,這個標準允許我們在不改變共識層的情況下構建帳戶抽象。
EIP 4337 的模組化設計將智慧合約錢包帳戶抽象劃分為多個埠:
捆綁器 :
入口點:
需要存入智慧合約錢包的代幣向捆綁器支付 gas 費用:當捆綁器使用 EOA 觸發句柄操作時,會產生 gas 費。 智慧合約錢包可以用自己的餘額支付汽油費,也可以要求Pymaster支付。 可能失敗:gas費用不足,驗證步驟失敗,即使gas費用足夠,UserOperation執行步驟也可能失敗,例如運行時錯誤。 無論執行是否成功,入場點合約都會向捆綁器支付gas費用以觸發handleOp功能。 入口點合約為智慧合約錢包提供了添加或提取代幣作為抵押品的能力。
智慧錢包:
智慧合約錢包主合約將使用者操作的驗證和執行步驟分開。 通過解耦,捆綁器可以在鏈下驗證使用者操作,過濾掉惡意交易,而無需支付gas費用。
驗證步驟在 validateOp 函數中定義:第一次調用 validateOp,捆綁器類比鏈下驗證,驗證 UserOperation 中的簽名,並確保智慧合約錢包有足夠的 gas 餘額,第二次調用 validateOp 是入口點合約,在執行 UserOperation 之前進行鏈上驗證。
付款主管 :
錢包工廠 :
簽名聚合器:
氣體抽取:
gas抽象不包含gas費用交易,並使用任何ERC20代幣支付gas費用。 該邏輯可以在Paymaster合同中執行,也可以通過中繼執行。 對於AA來說,很多智慧合約錢包本身可以實現符合EIP 4337的Paymaster合約,並在入口點合約上質押Token,幫助使用者支付gas費用。
社會恢復:
如果私鑰丟失或洩露,使用者可以授權新的金鑰作為合法的錢包擁有者。 社交登錄和社交恢復的邏輯一般在錢包的主合約中定義。 它可以通過多種方式完成,例如電子郵件,多重簽名,MPC或SWIE(使用乙太坊登錄)。
交易批次:
交易批處理是智慧合約錢包獨有的功能,它允許錢包使用者在單個鏈上交易中執行多個交易。
跨鏈交互與連接橋接集成:
目前,許多錢包正在與第三方供應商合作,將法定貨幣存款和取款管道以及跨鏈交互橋集成到錢包中。 這些存取款通道和跨鏈交互橋可以進一步與gas抽象中的支付合約(Paymaster)集成。
模組化設計:
也許AA最大的優勢之一是其模組化服務,其中捆綁器,Paymaster和其他部分可以靈活組合。
從堆疊
手續費相對較高:
使用ERC-4337進行簡單的轉帳比使用傳統錢包(通常稱為EOA)要昂貴得多,因為前者需要調用合約。
但是,在匯總網路上,使用 ERC-4337 進行簡單傳輸可能比 EOA 便宜,因為它將簽名聚合在一起以減少主網上的數據量。
標準尚未最終確定:
挑戰包括:由於擴展事務可擴展性而導致的攻擊媒介增加,遷移到新標準時可能出現未知錯誤或安全風險,需要強大而安全的全球入口點合同來確保所有交易都得到正確簽名和驗證,等等。
**樂觀: ❌ **
樂觀版本 1 有三個 OVM 操作代碼,實現智慧合約錢包帳戶抽象。 但是,出於一致性和安全原因,版本 2 刪除了這些操作代碼,並且沒有關於支持帳戶抽象的官方聲明。
**仲裁: ❌ **
雖然目前有一些智慧合約錢包建立在Arbitrum之上,但沒有關於支持帳戶抽象的官方聲明。
**斯塔克網: ✅ **
Starknet只有具有驗證和執行功能的智慧合約帳戶,所有帳戶都必須實現這些功能來驗證簽名並確保gas費用。 Starknet禁止驗證函數調用外部合約狀態,以防止未執行的交易。 然而,Starknet和乙太坊之間存在一些差異,例如缺乏UserOperations,類似於Paymaster的交易費用抽象協定,以及需要一個具有Token餘額的帳戶來創建新合約。 此外,如果經過驗證的交易失敗,Starknet的音序器不能收取汽油費,而乙太坊可以。
**zkSync: ✅ **
zkSync 不區分 EOA 和合約帳戶。 其帳戶模型類似於 EIP 4337,包括單獨的 validateTransactiom 和 uteTransaction 函數。 Paymaster介面還包括validateAndPayForPaymasterTransaction和postOp函數。 但是,存在一些差異,例如在驗證過程中調用已部署的外部協定和外部存儲的能力。 Paymaster還可以在交易驗證期間調用外部存儲。
目前,一些優秀的專案,如Stackup,Etherspot,Candide,Infinistism和Pimlico正在嘗試構建基礎設施。
建造者:
一些共識:
公共服務
絕大多數捆綁器的開源性質使它們具有非排他性和非競爭力。 任何 RPC 端點都可以通過複製開原始程式碼來運行捆綁器。
即使運行 Bundler 的 RPC 端點通過 API 金鑰收取服務使用費,Bundler 服務也比其他基礎設施(如支付合同 Paymaster)更難貨幣化,因為 Paymaster 可以通過與第三方存取款供應商或去中心化金融協定聚合器供應商合作輕鬆賺取費用差額。
關鍵基礎設施
驗證和執行使用者操作需要盡可能多的捆綁器,以實現更好的去中心化。 由於目前唯一的第三方 Bundler 服務提供者是 Stackup 和 eth-infinitism,我們確實需要更多這樣的 Bundler 服務提供者。
機制**
捆綁器自行傳遞消息並傳播使用者操作,類似於共用記憶體池,而無需就特定事項達成一致。 Bundler 具有過濾垃圾郵件的重要功能,出於自身的財務原因,Bundler 希望盡可能多地監控以確保記憶體池的安全。
捆綁服務之間的差異:
3.04萬 熱度
6.63萬 熱度
36.91萬 熱度
4.74萬 熱度
6.3萬 熱度
理解帳戶抽象ERC4337如何導致乙太坊帳戶的發展?
作者:瑞
正如許多人所說,帳戶抽象(AA)技術,尤其是ERC-4337,有望徹底改變自我託管錢包的用戶體驗,並允許其擴展大規模採用。 然而,隨著 2023 年 5 月的臨近,我們必須認識到該標準仍處於早期階段,機遇和風險並存。
請注意,隨著升級的快速發展,本文的內容可能會很快過時,本文僅基於我個人的觀點。
TL; 災難恢復
ERC4337:
AA標準仍處於早期階段,但許多創新建設者正在努力進一步發展它。 在生態系統的支援和小狐狸錢包等大型產品的普及下,我們可以期待AA加快其開發進程併產生令人興奮的結果。
L2:
AA 的採用因 L2 解決方案而異。 較大的L2(例如Optimism和Arbitrum)本身不支援AA,而ZKSync和Starknet則支援。
捆綁服務:
支付主管服務:
AA錢包和SDK:
瞭解加密錢包
分類
乙太坊網路上有兩種類型的帳戶:外部擁有的帳戶(EOA)錢包,如小狐狸錢包,和合約帳戶(CA),如保險箱。
EOA錢包和合約錢包之間的主要區別在於它的控制方式。 EOA錢包由個人用戶通過私鑰控制,而合約錢包由智慧合約控制。 雖然EOA錢包更簡單,用於管理個人加密資產持有量,但合約錢包可以有更複雜的規則,可以用於特定目的。
來自比特幣內幕
痛點
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 的模組化設計將智慧合約錢包帳戶抽象劃分為多個埠:
捆綁器 :
入口點:
需要存入智慧合約錢包的代幣向捆綁器支付 gas 費用:當捆綁器使用 EOA 觸發句柄操作時,會產生 gas 費。 智慧合約錢包可以用自己的餘額支付汽油費,也可以要求Pymaster支付。 可能失敗:gas費用不足,驗證步驟失敗,即使gas費用足夠,UserOperation執行步驟也可能失敗,例如運行時錯誤。 無論執行是否成功,入場點合約都會向捆綁器支付gas費用以觸發handleOp功能。 入口點合約為智慧合約錢包提供了添加或提取代幣作為抵押品的能力。
智慧錢包:
智慧合約錢包主合約將使用者操作的驗證和執行步驟分開。 通過解耦,捆綁器可以在鏈下驗證使用者操作,過濾掉惡意交易,而無需支付gas費用。
驗證步驟在 validateOp 函數中定義:第一次調用 validateOp,捆綁器類比鏈下驗證,驗證 UserOperation 中的簽名,並確保智慧合約錢包有足夠的 gas 餘額,第二次調用 validateOp 是入口點合約,在執行 UserOperation 之前進行鏈上驗證。
付款主管 :
錢包工廠 :
簽名聚合器:
AA的優勢
氣體抽取:
gas抽象不包含gas費用交易,並使用任何ERC20代幣支付gas費用。 該邏輯可以在Paymaster合同中執行,也可以通過中繼執行。 對於AA來說,很多智慧合約錢包本身可以實現符合EIP 4337的Paymaster合約,並在入口點合約上質押Token,幫助使用者支付gas費用。
社會恢復:
如果私鑰丟失或洩露,使用者可以授權新的金鑰作為合法的錢包擁有者。 社交登錄和社交恢復的邏輯一般在錢包的主合約中定義。 它可以通過多種方式完成,例如電子郵件,多重簽名,MPC或SWIE(使用乙太坊登錄)。
交易批次:
交易批處理是智慧合約錢包獨有的功能,它允許錢包使用者在單個鏈上交易中執行多個交易。
跨鏈交互與連接橋接集成:
目前,許多錢包正在與第三方供應商合作,將法定貨幣存款和取款管道以及跨鏈交互橋集成到錢包中。 這些存取款通道和跨鏈交互橋可以進一步與gas抽象中的支付合約(Paymaster)集成。
模組化設計:
也許AA最大的優勢之一是其模組化服務,其中捆綁器,Paymaster和其他部分可以靈活組合。
AA 中的缺陷
從堆疊
手續費相對較高:
使用ERC-4337進行簡單的轉帳比使用傳統錢包(通常稱為EOA)要昂貴得多,因為前者需要調用合約。
但是,在匯總網路上,使用 ERC-4337 進行簡單傳輸可能比 EOA 便宜,因為它將簽名聚合在一起以減少主網上的數據量。
標準尚未最終確定:
挑戰包括:由於擴展事務可擴展性而導致的攻擊媒介增加,遷移到新標準時可能出現未知錯誤或安全風險,需要強大而安全的全球入口點合同來確保所有交易都得到正確簽名和驗證,等等。
第 2 層
**樂觀: ❌ **
樂觀版本 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正在嘗試構建基礎設施。
捆綁服務:
建造者:
一些共識:
公共服務
絕大多數捆綁器的開源性質使它們具有非排他性和非競爭力。 任何 RPC 端點都可以通過複製開原始程式碼來運行捆綁器。
即使運行 Bundler 的 RPC 端點通過 API 金鑰收取服務使用費,Bundler 服務也比其他基礎設施(如支付合同 Paymaster)更難貨幣化,因為 Paymaster 可以通過與第三方存取款供應商或去中心化金融協定聚合器供應商合作輕鬆賺取費用差額。
關鍵基礎設施
驗證和執行使用者操作需要盡可能多的捆綁器,以實現更好的去中心化。 由於目前唯一的第三方 Bundler 服務提供者是 Stackup 和 eth-infinitism,我們確實需要更多這樣的 Bundler 服務提供者。
機制**
捆綁器自行傳遞消息並傳播使用者操作,類似於共用記憶體池,而無需就特定事項達成一致。 Bundler 具有過濾垃圾郵件的重要功能,出於自身的財務原因,Bundler 希望盡可能多地監控以確保記憶體池的安全。
捆綁服務之間的差異:
付款主管服務
AA 錢包和 SDK:
產品評價
商業