所有語言
分享
撰文: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 協議以太坊。
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 的參与者,以允許以太坊上的一些新功能,包括:
一旦被 Bundler 接收,UserOperation 將被提交到 EntryPoint 智能合約。 EntryPoint 的作用是驗證 UserOperations,併為執行 UserOperations 的相關方支付費用。 一旦 UserOperations 的操作在鏈上完成,EntryPoint 智能合約將確保相關費用從 Paymaster 的地址(如果指定且有效)中扣除並記入 Bundler 的地址。
從最初提交 UserOperation 到其在鏈上執行,有一些重要的注意事項需要注意:
AC 有潛力徹底改變以太坊和其他參与的通用區塊鏈和 L2 上的交易執行。 創建后,AC 可以與智能合約(即 dapp)交互,通過發送簽名消息來執行交易,該消息驗證 AC 移動用戶資產的權利。 ERC 1271 是 ERC 4337 的隨附標準,供 dapp 在與 AC 交互時使用。 支持 AA 的 dapp 將依賴 ERC 1271 來驗證來自 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 上。 見下圖:
以下是更廣泛採用 ERC 4337 標準所需的三個關鍵開發領域:
ERC 4337 的主要優點和缺點之一是它不會改變以太坊的協議。 這是一個優勢,因為 ERC 4337 作為 EVM 兼容鏈中 AA 標準的開發並不依賴或依賴以太坊核心開發人員的努力和共識。 以太坊核心開發人員是一群無定形的研究人員和程序員,他們從事以太坊協議的工作,他們的行動緩慢,並且要兼顧多個相互競爭的優先事項和代碼議程。 ERC 4337 可以獨立於該團隊進行開發,這意味着可以更快地發布其代碼的更新。
然而,ERC 4337 是一個獨立於以太坊的協議,這也是一個弱點,因為它限制了該標準的採用。 如果不進行協議級別的更改,AC 的採用在很大程度上取決於 dapp 開發人員更新其智能合約,以請求籤名消息作為用戶身份驗證的有效形式,而不是來自 EOA 私鑰的簽名。 AC 是 Starkware 等協議上的默認用戶賬戶類型,其中原生支持 AA。 這有很多好處,包括所有 dapp 都與 AA 兼容並支持來自 AC 的用戶交易的本機批處理。
為了更好地直接支持 AA 在以太坊上的採用,最近幾個月提出了一些 EIP,這些 EIP 將對以太坊協議進行微小的更改。
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 仍然是一個活躍的研究和開發領域,在開發人員確定支持該技術的更嚴格的路線圖之前,該領域可能會經歷更多的迭代。