Galaxy:以太坊帳戶抽象之路

作者:Christine Kim,Galaxy;編譯:鄧通,金色財經

摘要

管理公鑰/私鑰對是用戶採用加密貨幣的持續障礙。以太坊從未打算使用外部擁有的帳戶(EOAs)來啟動,也就是由公鑰/私鑰對控制的帳戶。以太坊聯合創始人Vitalik Buterin 設想以太坊上的使用者帳戶可以由智慧合約程式碼控制。可程式智慧合約帳戶將允許用戶應用更靈活的條件來安全地將加密資產轉移到錢包或從錢包中轉移。帳戶抽像是描述智慧合約控制的使用者帳戶的官方術語。對帳戶抽象的興趣在2023 年飆升,並在2024 年繼續增長。本報告深入探討了帳戶抽象化是什麼以及為在以太坊上啟用該技術而提出的解決方案。

簡介

兩年前,以太坊開發人員Vitalik Buterin、Yoav Weiss、Dror Tirosh、Shahaf Nacson、Alex Forshtat、Kristof Gazso 和Tjaden Hess 共同撰寫了以太坊徵求意見(ERC),概述了用戶交易執行的新流程。該提案名為ERC 4337,它提供了一種新方法,可以在無需更改以太坊核心協議的情況下為用戶交易提供更高級別的可編程性。

以太坊上的使用者只能從使用者控制的帳戶(也稱為「外部擁有帳戶」(EOA))發起交易。來自EOA 的交易由帳戶使用者私鑰的數位簽章授權。私鑰是最重要的訊息,它使用戶能夠存取和控制EOA 中持有的資金。在以太坊上,用於保護EOA 的特定類型的數位簽章方案稱為橢圓曲線數位簽章演算法(ECDSA)。這與比特幣上使用的方案相同。

由於安全記錄和記住私鑰可能很麻煩,因此以太坊用戶和加密貨幣持有者依靠錢包軟體來管理他們的私鑰或集中託管人直接代表他們管理他們的加密資產。多年來,像Vitalik Buterin 這樣的以太坊創始人和像Yoav Weiss 這樣的協議開發人員一直在研究透過可程式EOA 來改善鏈上交易的用戶體驗的方法,即EOA 可以透過任何類型的邏輯來執行和授權交易,而不僅僅是嚴格意義上的邏輯。公鑰/私鑰數位簽章的邏輯。可程式EOA 的另一個術語是帳戶抽象化(AA)。

AA 可以啟用一系列新方法和授權方案來執行鏈上交易,從簡單地啟用多個簽章(即多個數位簽章的組合)到可以用任何類型的ERC-20 代幣支付的交易,嚴格來說不是使用者帳號中的ETH。本報告概述了ERC 4337、其採用情況以及開發人員為進一步擴展ERC 4337 功能而提出的相關以太坊改進提案(EIP)。本報告也提供了為何AA 可能不會在有意義的情況下被採用的見解。短期內,以太坊的容量會增加,因為以太坊開發人員將專注於更緊迫的優先事項,例如maxEB 和peerDAS,而中期,用戶活動會遷移到Layer 2 Rollup 和已經支援AA 獨立的替代Layer 1協議以太坊。

ERC 4337

2023 年3 月,在北美最大的以太坊年度會議ETHDenver 上,以太坊基金會的安全研究員Yoav Weiss 宣佈在以太坊上推出一項名為EntryPoint 的新智慧合約。 EntryPoint 旨在驗證和執行「帳戶合約」(AC) 中的交易。 AC 是一種以太坊帳戶,使用者可以透過它編寫新的邏輯來授權交易。邏輯上必須採用ERC 4337 標準定義的特定欄位和類型來建構。以複雜的執行邏輯格式化的使用者事務稱為「使用者操作」。一旦格式化,UserOperations 就可以被傳送到專門用於這些類型交易的記憶體池。

以下是ERC 4337 定義的UserOperations 事務執行流程的進階說明。

一旦UserOperation 被提交到規範的ERC 4337 mempool 或也接受UserOperations 的替代mempool,它就會被“Bundler”拾取。捆綁器的作用與區塊建構器類似。他們將多個UserOperations 打包在一起,並提交該套件以在以太坊上進行驗證和執行。作為模擬交易並將其打包以在鏈上執行的交易,捆綁者透過提交UserOperation 的用戶所附加的費用獲得補償。

UserOperations 可以指定「付款人」。 Paymasters 是贊助其他使用者的UserOperations 的參與者,以允許以太坊上的一些新功能,包括:

  • 用戶使用ETH 以外的加密貨幣支付交易費用;

  • 去中心化應用程式在啟動早期階段為其用戶提供費用補貼;

  • 創建用於在以太坊上進行交易的鏈上信用服務。

TJOodRyxwDPtTf6I8CzwUpZpMMTOmdZvlnCMRMWb.jpeg

一旦被Bundler 接收,UserOperation 將被提交到EntryPoint 智能合約。 EntryPoint的功能是驗證UserOperations,並為執行UserOperations的相關方支付費用。一旦UserOperations 的操作在鏈上完成,EntryPoint 智能合約將確保相關費用從Paymaster 的地址(如果指定且有效)中扣除並記入Bundler 的地址。

注意事項

從最初提交UserOperation 到其在鏈上執行,有一些重要的注意事項需要注意:

  • 儘管以太坊上的EntryPoint 智慧合約已上線,但統一的ERC 4337 記憶體池尚未啟動。可以在GitHub 上找到此捆綁器點對點規範的早期迭代。

  • 新AC 的建立可以直接在UserOperation 中指定,這樣UserOperation 不僅指定處理使用者事務的複雜要求,也指定將代表使用者對訊息進行簽署的AC。

  • 對於從捆綁器接受UserOperations 的區塊建構器來說,確保在區塊內執行的早期事務不會與任何UserOperations 發生衝突並導致它們失敗非常重要。區塊建構者必須將捆綁包作為區塊中的第一個交易,或使用其他策略來正確驗證UserOperations 的內容。

  • Paymasters 有可能同時使多個UserOperations 無效,從而給負責驗證UserOperations 的EntryPoint 合約帶來不必要的壓力。為了防止這種拒絕服務(DoS) 攻擊媒介,付款人需要投入資金,具體金額由捆綁軟體實現定義,或限制他們的儲存能力,以便他們可以支援的用戶操作僅限於他們可以在自己的儲存範圍內訪問的操作。

  • ERC 4337 的組件並非基於新技術。自2018 年以來,Argent 等個人錢包服務已經實現了上述交易執行工作流程的一個版本,以支援用戶交易的複雜交易執行邏輯。但是,ERC 4337 的創新之處在於其Gas 會計和支付的標準化,以及創建一個獨立的、抗DoS 且無需許可的記憶體池。 ERC 4337 已被採用作為以太坊以外的多個協議的帳戶抽象標準,包括Starknet、Optimism、Arbitrum、Avalanche、BNB Smart Chain 和Polygon。

iIJChX0bYg0FWSlgf7fWh5IlhvGWyY74X059xvCo.jpeg

好處

AC 有潛力徹底改變以太坊和其他參與的通用區塊鏈和L2 上的交易執行。創建後,AC 可以與智能合約(即dapp)交互,透過發送簽名訊息來執行交易,該訊息驗證AC 行動用戶資產的權利。 ERC 1271 是ERC 4337 的隨附標準,供dapp 與AC 互動時使用。支援AA 的dapp 將依賴ERC 1271 來驗證來自AC 的簽署訊息,而不是請求來自使用者私鑰的發起交易的授權。這為用戶交易解鎖了許多新用例,包括:

  • 對使用者資產的客製化控制:AC 可能有一條簽名訊息,dapp 可以驗證該訊息,允許他們移動某些資產或達到一定限制的資產,以確保即使在用戶的AC 可能被利用的情況下,其整個資產帳戶餘額永遠不會面臨危險或被盜的風險。

  • 在發生駭客攻擊時停止資產流動的能力:相反,AC 可能具有在超出某些提款限額時停止資金流動的嵌入邏輯。

  • 改善重複或頻繁交易的使用者體驗:對於某些鏈上遊戲和DeFi 應用,使用者需要提交多筆交易。 AC 可以被編程為自動允許與某些dapp 進行交易,以便用戶可以避免必須使用其私鑰重複授權與相同智能合約的交互。

  • 支援私鑰的社交復原:AC還可以設計為依賴用戶的私鑰和其他社交復原設備來轉移資金。如果使用者遺失了他們的私鑰,AC可以被編程為使用三分之二或五分之三的其他社交復原設備來重新產生新金鑰。

根據以太坊錢包服務Argent 和其他來源的分析,以太坊上大約60% 到70% 的dapp 相容ERC 1271。

前景展望

EntryPoint合約的推出是以太坊主網上AA發展的一個重要里程碑。然而,使用EntryPoint 的標準仍在積極開發中,並且可能會發生變化。 ERC 4337 不是協議級代碼更改,而是一個不斷發展的標準,用於使用替代工作流程提交使用者交易。 ERC 4337 的採用陷入了困境,因為最終用戶廣泛採用該標準將為捆綁商創造高收入的機會,從而導致新捆綁商的湧入。然而,除非已經存在許多發送UserOperations 的用戶,否則捆綁程式的興起也沒有經濟誘因。

此外,採用的其他障礙之一是ERC 4337 需要以太坊記憶體池中的替代記憶體池,這將使圍繞UserOperations 活動的工具和分析變得更加複雜和複雜。 JiffyLabs 和Blocknative 等公司正在開發專用工具和瀏覽器來追蹤使用者操作從啟動到執行的整個流程。

對使用者來說,使用者操作的平均成本也較高。大多數UserOperations 比EOA 的常規以太坊交易更昂貴的主要原因是,鏈上智慧合約作業通常比嚴格涉及ETH 的普通交易更昂貴。如果這是用戶的第一個UserOperation,他們必須創建一個新的AC,這會消耗Gas,並且根據AC 的配置,該帳戶可能會啟動與多個代幣或dapp 的交互,這無論如何都會花費用戶直接從EOA,但透過ERC 4337 框架執行會產生額外的管理費用,這些費用由捆綁商、付款人(有時甚至是使用者)承擔。

根據Dune 的數據,截至2024 年3 月26 日,以太坊上創建的AC 總數為4,830 個。自2023 年3 月以來,鏈上成功執行的UserOps 數量為36,332 個,同期這些UserOps 產生的捆綁器收入約為30.5 ETH。在交易費用相對低於以太坊的其他協議上,用戶操作活動相對較高,尤其是在Polygon 上。見下圖:

Ui3dOkz1RKRdtxvICN079EubTWAUsNjw7qljDyLf.jpeg

以下是更廣泛採用ERC 4337 標準所需的三個關鍵開發領域:

  • 監控工具:一旦ERC 4337 記憶體池在以太坊上啟動,ERC 4337 記憶體池瀏覽器和其他用於追蹤UserOperation 活動的強大工具對於支援AA 的更廣泛採用將非常重要。

  • 使用者操作標準:在使用者事務的執行中增加額外的程式碼複雜性可能會導致更多的錯誤和漏洞利用機會。某些類型的常用使用者操作的標準將進一步推動特定AA 用例的採用。

  • 包含清單和審查抵抗機制:就像以太坊上的第三方區塊建構者由於這些參與者角色的特殊性質而存在的中心化風險一樣,存在最大可提取價值(MEV)中心化捆綁者角色的風險。隨著AA 的採用不斷增長,ERC 4337 標準指定透過包含清單或其他審查抵抗機制來對抗MEV 的集中效應的方法將變得非常重要。

ERC 4337 的主要優點和缺點之一是它不會改變以太坊的協議。這是一個優勢,因為ERC 4337 作為EVM 相容鏈中AA 標準的開發並不依賴或依賴以太坊核心開發人員的努力和共識。以太坊核心開發人員是一群無定形的研究人員和程式設計師,他們從事以太坊協議的工作,他們的行動緩慢,並且要兼顧多個相互競爭的優先事項和程式碼議程。 ERC 4337 可以獨立於該團隊進行開發,這意味著可以更快地發布其程式碼的更新。

以太坊原生AA 之路

然而,ERC 4337 是一個獨立於以太坊的協議,這也是一個弱點,因為它限制了該標準的採用。如果不進行協定層級的更改,AC 的採用在很大程度上取決於dapp 開發人員更新其智慧合約,以要求簽署訊息作為使用者身分驗證的有效形式,而不是來自EOA 私鑰的簽署。 AC 是Starkware 等協定上的預設使用者帳戶類型,其中原生支援AA。這有很多好處,包括所有dapp 都與AA 相容並支援來自AC 的用戶交易的本機批次。

為了更好地直接支援AA 在以太坊上的採用,最近幾個月提出了一些EIP,這些EIP 將對以太坊協議進行微小的更改。

  • EIP 3074:由以太坊核心開發人員lightclient、Ansgar Dietrichs、Micah Zoltu 和Sam Wilson 提出,該EIP 創建了兩個新的EVM 指令,用於將EOA 的控制權委託給智慧合約。儘管這是2020 年提出的一項長期存在的EIP,但它仍然是一個有爭議的項目,目前以太坊核心開發人員正在爭論是否將其納入布拉格/Electra 升級中。

  • EIP 7664:由匿名OP Labs 開發人員「Protolambda」提出,該EIP 於2024 年3 月28 日在最近的所有核心開發人員(ACD)、所有核心開發人員執行調用(ACDE) #184 上提出,作為EIP的更好替代方案3074 提供附加功能。

  • EIP 5806:由OpenZeppelin 的區塊鏈工程師Hadrien Croubois 提出,該EIP 創建了一種新的交易類型,允許EOA 使用類似委託調用的機制執行任意程式碼。委託呼叫是以太坊上的智慧合約操作碼,允許合約執行另一個合約的程式碼。將此功能應用於EOA 將允許EOA 對要執行的合約操作有更多控制,從而提高EOA 的可編程性。透過EIP 5806,EOA 可以呼叫另一個合約,然後透過一個初始交易觸發多個交易。與EIP 3074 一樣,以太坊核心開發人員目前正在討論該EIP 是否包含在布拉格/Electra 升級中。

  • EIP 7377:由Geth 開發者和EIP 編輯Matt Garnett(化名「lightclient」)提出,該EIP 創建了一種新的交易類型,以幫助使用一次性交易將EOA 中的資產遷移到AC。如果使用者在一個EOA中擁有多個資產,則很難將這些資產單獨遷移到新地址。因此,創建一種交易類型,可以透過一個簡單的操作將EOA 中的所有資產安全地遷移到AC,將極大改善用戶體驗並加快AC 錢包的採用。與EIP 3074 和5806 一樣,以太坊核心開發人員目前正在討論該EIP 是否包含在布拉格/Electra 升級中。然而,在這三個EIP中,EIP 7377被認為是核心開發者中爭議最小的。

  • EIP 6900:此EIP 是Alchemy 和以太坊基金會的開發人員合作提出的,為智慧合約和AC 插件提出了新標準。插件包含UserOps 的執行邏輯,以及定義AC 將批准代表其採取的操作的情況的驗證方案。這些插件還可以包含允許執行前和執行後控制的Hook。在AC 中採用此類插件標準將有助於支援高度模組化和可升級的交易執行邏輯,並增強錢包和dapp 的互通性。

  • EIP 7553:由Nethermind 用戶端開發人員Tomasz 提出。 K. Stańczak 和以太坊基金會研究員Ansgar Dietrichs 表示,該EIP 創建了一種新的交易類型,將交易發送方和付款方的角色分開。 EIP 是先前提案EIP 2711 的縮小版,旨在支持贊助交易,即由第三方支付費用的交易。

EIP 5806 和6900 於2023 年8 月初在所有核心開發人員執行(ACDE) 第167 號電話會議上提出。雖然有利於在以太坊上採用AA,但電話會議的開發人員在製定路線圖之前推遲了實施AA 相關的協議變更。最終將AA 完全納入以太坊協議中。 Swirlds Labs 工程師兼Besu 用戶端維護人員Danno Ferrin 表示:「這些都是有趣的解決方案,它們開闢了有趣的設計空間,但我認為我們應該退後一步,思考是否可以透過針對帳戶抽象的深思熟慮的設計來為我們提供更好的服務。”

考慮到Verkle 樹、提議者構建者分離、單槽最終確定性和完整danksharding 等其他重要舉措的競爭優先級,開發人員對於在下一個計劃的以太坊硬分叉中承諾AA 相關的EIP 猶豫不決。然而,AA 的話題在ACDE #178 上再次被提起,開發人員對在布拉格/Electra 升級中實現與AA 相關的簡單EIP(例如EIP 7553)的想法表達了更多的熱情。最近,上面列出的前三個EIP 在ACDE #182 上進行了詳細討論。開發人員就這三個提案之間的優缺點進行了爭論。最後,在最近的ACD 電話會議ACDE #184 中,OP Labs 開發人員Protolambda 提出了新版本的EIP 3074,供布拉格/Electra 考慮。

根據圍繞以太坊AA 的持續討論,該技術是所有以太坊開發人員的理想目標,但其中之一需要數月甚至數年的討論才能就路線圖以及該協議的其他競爭優先事項達成共識。因此,ERC 4337很可能在短期內作為不觸及以太坊協議的標準而被更廣泛地採用。中長期來看,隨著以太坊的Layer-2 (L2) rollup 生態系統的成熟,ERC 4337 和其他為以太坊提出的AA 相關的EIP 更有可能在這些比以太坊相對更靈活的協議上得到快速採用。由於以太坊的可擴展性取決於Rollup,而以太坊演變成Rollup的資料可用性層,因此預計更多的最終用戶將在L2 上進行交易,而不是直接在以太坊上進行交易。

結論

ERC 4337 是一個重要且不斷發展的標準,旨在在不改變網路核心協議的情況下將AA 引入以太坊。更重要的是,它是AA 的標準,可以被以太坊和L2 以外的EVM 相容協議採用。 ERC 4337 的創新之處在於它為錢包和dapp 可以合併的捆綁商和付款人提供了單一的Gas 會計和交易支付策略。此外,ERC 4337 提供了一個受第三方區塊構建啟發的標準,透過替代內存池支援UserOperations 的無許可捆綁,理論上任何人都可以在操作捆綁器時向該內存池提交交易並從中賺取收入。 ERC 4336 的採用雖然在以太坊上進展緩慢,但已被其他協議所接受; 尤其是L2,例如Polygon、Arbitrum、Optimism、StarkNet 以及最近的Base。 AA 開發人員提議在以太坊上進行協議級別的更改,以加快在以太坊上採用ERC 4337,但考慮到競爭優先級,目前尚不清楚這些EIP 是否會在下一次以太坊升級布拉格/Electra 中實施。本報告中提到的ERC 4337 和AA 相關EIP 的採用可能會在L2 和新的EVM 相容鏈上最受歡迎,這些鏈可以更快地啟動協議變更。以太坊上的AA 仍然是一個活躍的研究和開發領域,在開發人員確定支援該技術的更嚴格的路線圖之前,該領域可能會經歷更多的迭代。

Total
0
Shares
Related Posts