Is EIP-3074 the Next Step for Account Abstraction?

EIP-3074 一夜之間成爲最熱門的話題,因爲它被批准納入下一次以太坊硬分叉(Pectra/Petra)。然而,這一切炒作的重點是什麼?它將如何影響以太坊和 EVM 生態系統?在本文中,我們將探討這一提案,回答常見問題,並消除一些誤解和誤解。讓我們深入探討一下,好嗎?

賬戶抽象 EIP/ERC 概述

爲了加強您對帳戶抽象的理解,您需要知道,99% 的情況下,當有人說“帳戶抽象”時,他們指的是“智能(合約)帳戶”,即帳戶基於合約代碼而不是單個私鑰。它仍然可以由單個私鑰進行身份驗證,大多數情況下都是如此(這在後面很重要),但它也可以是多重簽名錢包,就像 Safe 的情況一樣。

“賬戶抽象”的本義是“允許智能合約發起交易”,但後來改爲“智能合約賬戶所實現的所有功能”。

智能合約賬戶可實現這些功能及更多功能

  • Gas 抽象:dApps 贊助 gas,用戶使用不同的 ERC20 代幣支付 gas,甚至預付 gas,這對於跨鏈入職非常有用。

    • 這對於隱私和 OpSec 來說非常好,因爲它可以避免通過要求朋友用 ETH MATIC 爲您的帳戶注資(無論鏈/彙總的本國貨幣是什麼)來暴露自己,或者更糟的是,從交易所提款。

  • 交易批處理:或者將多個操作捆綁在單個交易中。這對於安全性和 gas 效率都非常有用。

    • 安全性:解決 ERC-20 批准問題。批處理的副作用是,我們可以對每個需要批准的操作進行精確的金額批准,從而使批准問題消失。爲什麼?因爲我們不需要無限/剩餘的批准,也不需要第二個簽名來進行批准。

  • 自定義加密:啓用新的加密曲線、WebAuthn、iOS 安全區域、量子安全等。

  • 密鑰輪換和賬戶恢復:更改現有賬戶的私鑰或通過 Argent 的社交恢復等方案恢復賬戶

注意到什麼了嗎?所有這些都在某種程度上有助於安全。

回到 ERC。

一般來說,所有與帳戶抽象相關的 ERC 都聲稱這些功能是他們的動機,但他們不一定提供這些功能;他們只是幫助爲使這些功能成爲主流鋪平了道路。

讓我們分解一下。大型 ERC 解決了不同的問題:

  • 交易發起:合約發起交易的能力。

    • 原生:協議內特殊交易類型,可源自智能合約。包括 ERC-2938,後來被 RIP-7560 取代

    • 模擬:ERC-4337 是“模擬”的,因爲交易實際上仍由 EOA 發起。這並不意味着用戶必須知道這個 EOA。這個 EOA 由打包器控制和操作。

  • 轉換現有用戶:這是 EIP-3074(及其較小的配套產品 ERC-5003)發揮作用的地方

    • EIP-3074 允許將現有 EOA 的控制權委託給智能合約。智能合約可以控制此 EOA 並從其地址進行調用,但無法發起交易。這很重要,因爲我們仍需要解決交易發起問題。

    • ERC-5003 允許將 EOA“完全”轉換爲智能合約賬戶,這要歸功於撤銷充當此 EOA 主密鑰的原始私鑰。

  • 簽名:合約通常無法簽署簽名。但它們可以 - 它們可以定義邏輯來定義什麼是該合約的有效簽名。例如,Bob 和 Alice 之間的多重簽名智能合約錢包將定義有效簽名爲 isValidSignature = isValid(bobsSignature) AND isValid(alicesSignature)。這需要在合約代碼中定義。

    • ERC-1271 定義了一個接口來實現這一點。

    • ERC-6492 對其進行擴展以支持尚未部署的智能合約賬戶:這使得所有鏈上都可以無縫地使用相同的地址,同時仍然允許用戶簽署消息。

    • 兩者都需要由 dApp 實現才能工作。

要真正打造 AA 體驗,您必須同時解決上述所有問題。這就是 EIP-3074 不與 ERC-4337、RIP-7560 或任何其他賬戶抽象 ERC 競爭的原因。

如果您想直觀地看到這一切,我們建議您參閱這張來自關於揭開 AA ERC 神祕面紗的演講的幻燈片。

揭穿 EIP-3074 的常見 FUD

讓我們先從最顯而易見的問題開始。目前有三條與 EIP-3074 相關的 FUD:

  • 允許惡意 dApp 在一次交易中耗盡現有錢包:確實可以生成這樣的簽名,但錢包提供商沒有理由或用例允許 dApp 讓您簽署此類請求。從錢包方面保護這一點比保護私鑰本身要容易得多,泄露私鑰也會產生同樣的效果。

  • 該賬戶保留一個主密鑰(原始 EOA 密鑰)。還有一個額外的 ERC 可以解決這個問題,即 EIP-5003,也稱爲 AUTHUSURP,它允許撤銷原始私鑰

  • EIP-3074 只是一種無法帶來原生 AA 優勢的創可貼:EIP-3074 從未打算與 RIP-7560 等真正的 AA 提案競爭。它不是 AA 的創可貼;它是一條遷移路徑。我們仍然需要原生 AA,因爲正如我們之前所記得的,它無法解決交易發起問題。

EIP-3074 的利與弊

  • 優點:它爲 MetaMask、Trezor、Ledger 等現有用戶創建了一條非常容易的遷移路徑,讓他們可以在現有賬戶上體驗賬戶抽象的功能。

  • 缺點:它犧牲了密鑰輪換。雖然可以啓用上述所有 AA 功能,但密鑰輪換變得有點難以捉摸,因爲即使使用 EIP-5003,原始私鑰仍保留對從未使用過的所有網絡上的帳戶的控制權。

腦力鍛鍊

以下智力練習可以幫助你理解其中的動因:

  • 以太坊主網上有一個 EOA,аlice.eth (0x696969..69)。根據定義,此 EOA 是跨鏈的,因此它也存在於所有 rollups 和 EVM 鏈上。

  • 此 EOA 由 Alice 擁有的私鑰 A 獨自控制。

  • EIP-3074 上線。

  • 惡意 dApp 試圖欺騙 Alice,並要求她簽署 EIP-3074 AUTH 簽名,授權惡意合約。錢包會忽略此請求並斷開 dApp 連接,因爲它已實現,並且不存在允許 dApp 執行此操作的用例。

  • Alice 點擊錢包提供商(例如 MetaMask,通過 Snap 或 Ambire,原生)上的“啓用帳戶抽象”按鈕。錢包確實簽署了 EIP-3074 AUTH 簽名,授權錢包提供商創建的合約,該合約可幫助執行批處理、gas 贊助等。

  • 該合約僅通過私鑰 A 進行控制。

  • alice.eth 現在由兩個實體分別控制:私鑰 A(採用 EOA 模式)和新合約,而新合約本身也由私鑰 A 單獨控制。

  • Alice 現在可以進行批處理,但是爲了進行 gas 贊助,Alice 的錢包提供商需要實施 ERC-4337 或 RIP-7560(如果網絡支持),或者專有中繼器,這樣 Alice 就不必使用她的 ETH(如果你想發起交易,這是網絡的硬性要求)。

  • Alice 決定將 alice.eth 轉換爲多重簽名,錢包提供商指示合約撤銷私鑰 A,並授權私鑰 BMobilePhone 和 BLaptop 的 2/2 多重簽名。

  • 然而,這不起作用,因爲私鑰 A 仍然控制着 Alice.eth:根據 EIP-3074,儘管被委託給合約,原始私鑰仍保留控制權。

  • EIP-5003 在以太坊上線,它允許 alice.eth 通過其錢包提供商向網絡發送特殊指令,以撤銷對私鑰 A 的控制。

  • alice.eth 現已成功轉換爲多重簽名,但僅限於以太坊。私鑰 A(由 Alice 擁有)仍然保留對所有其他網絡上的 alice.eth 的控制權。

最終,我們瞭解到了以下幾點:

  • 我們做了一件了不起的事情,因爲如果沒有 EIP-3074,Alice 可能永遠不會採用帳戶抽象。

  • EIP-3074 並不能解決所有問題;我們仍然像昨天一樣需要 ERC-4337 和 RIP-7560。

  • 即使我們有 EIP-5003,EIP-3074 也無法很好地與密鑰輪換配合使用。這就是爲什麼我們仍然需要實際的智能賬戶來促進多重簽名和密鑰輪換等用例。

順便提一下,我們認爲密鑰輪換對於大多數人來說太新了,而且在跨鏈世界中有點複雜,因爲所有 rollup 和鏈之間的狀態並不相同。大多數用戶似乎都堅持使用一個密鑰 = 一個帳戶的模式,尤其是對於硬件錢包來說,這對大多數用例來說都足夠安全。

常問問題

本文的其餘部分將採用常見問題解答格式,以便我們能夠更好地解答人們最常見的一些問題。

它有助於 MetaMask 取得領先嗎?

我們相信,與現有企業向其現有受衆提供 AA 功能相比,賬戶抽象公司將從更簡便的入職用戶體驗 (UX) 中獲得更大的價值。

換句話說,它“釋放”了 AA 錢包在整個可尋址市場的力量,而不僅僅是願意將資金轉移到新地址的早期採用者。

得益於 MetaMask Snaps,許多 AA 公司將轉向在 MetaMask 上構建 AA,這是除了最敏銳的觀察者之外沒有人能預見到的星系大腦定位。

批處理本身是否不安全?

絕對不是。您仍然可以看到所簽名的內容。結合交易模擬,這意味着簽署多個操作與簽署單個操作一樣安全,而且在大多數情況下更安全。

Is EIP-3074 the Next Step for Account Abstraction?交易批處理是賬戶抽象最受好評的功能之一

這有助於 dApp 採用 AA 嗎?它能解決兼容性問題嗎?

dApps 可以與任何形式的帳戶抽象一起使用,但有一些例外:

  • 一些 dApp 歧視智能(合約)賬戶

  • 一些 dApp 不支持 ERC-1271

EIP-3074 神奇地解決了這兩個問題:賬戶以 EOA 的形式出現(它們沒有代碼),因此不會受到歧視。至於簽名,啓用 AA(通過 3074)的 EOA 仍將以 EOA 的形式簽名,因此不會出現任何問題。它將神奇地與所有 dApp 兼容,但代價是失去密鑰輪換。

然而,如果大多數人選擇支持 AA 的 EOA 而不是純智能賬戶,那麼 dApp 就不會支持 ERC-1271 和 ERC-6492,但 ERC-4337 已經幫助提高了簽名提案的知名度。

那麼撤銷原始密鑰怎麼樣?

您可以通過 EIP-5003(尚未在硬分叉中計劃)撤銷密鑰。

其中一個細微差別是,在跨鏈世界中,這並不是一個完美的解決方案。EOA 將始終在您開始使用的每個新鏈上以 EOA 開始,這意味着原始密鑰永遠無法真正撤銷。但這適用於每種形式的 AA,因爲您創建帳戶時使用的原始權限/特權始終是帳戶在任何新網絡上的初始權限/特權。

EIP-3074 可以更好地將除密鑰輪換之外的所有 AA 功能引入現有 EOA。換句話說,如果您選擇爲 EOA 啓用 AA,您將永遠被困在 EOA 背後的原始私鑰中。

它會殺死原生 AA (RIP-7560) 嗎?

不,因爲你仍然需要一個解決方案來啓動交易,至少如果你想用不同於原生代幣的代幣支付 gas(或者你需要 gas 贊助)。

ERC-4337 就是這樣一種解決方案,它不需要協議升級(它不是原生的),但原生的、協議所載的 AA 非常有價值,因爲它解決了 ERC-4337 的 gas 開銷和複雜性。

但是,EIP-7377 怎麼樣?

EIP-7377 允許將 EOA 轉換爲智能賬戶。此 EIP 不再允許智能合約與原始 PK 一起控制 EOA,而是允許合約通過一筆交易接管 EOA。

它可以被視爲 EIP-3074 + EIP-5003 的替代方案,但並沒有獲得那麼大的動力。

結束語

EIP-3074 並不是一塊創可貼。它對以太坊和 EVM 生態系統的未來極爲有利,因爲要求用戶突然放棄現有賬戶,將所有資金、質押頭寸等轉移到新賬戶(智能合約賬戶)會大大提高進入門檻。

EIP-3074 將提供一個新的中間立場和逐步入職,這正是我們大幅改善用戶體驗所需要的。

​​對 Ambire 感興趣?關注我們:
Discord | X(推特)| Reddit | GitHub | Telegram | Facebook