天天看點

Vitalik 為什麼着急提出賬戶抽象新方案 EIP-7702?

作者:MarsBit

原文作者: @0xnatalie

原文來源: Substack

這是一個介于 ERC-4337 和 EIP-3074 之間的方案。

ERC-4337 是賬戶抽象的應用層标準,EIP-3074 是直接修改 EVM 的協定層标準,而 EIP-7702 有點介于兩者之間,為 EOA 臨時賦予了智能合約。

Vitalik 為什麼着急提出賬戶抽象新方案 EIP-7702?

EIP-3074已于今年 4 月被納入以太坊的下一次硬分叉計劃中,該提案通過允許外部擁有賬戶(EOA)将交易權限委托給智能合約,旨在為使用者帶來更便捷的體驗。然而,這一功能也引起了社群的擔憂,許多成員擔心若簽名被誤用,會使整個賬戶資金面臨風險,為釣魚攻擊者提供機會。為了進一步增強安全性,Vitalik Buterin 最近提出了EIP-7702作為EIP-3074的替代方案,引起了社群的廣泛讨論。

EIP-7702 引入了一種新的交易類型來提升賬戶抽象功能。這種新交易類型允許外部擁有賬戶(EOA)在交易過程中臨時采用智能合約的特性,然後在交易結束後恢複其原始狀态。那麼同樣都是賬戶抽象提案,ERC-4337、EIP-3074和EIP-7702的差别在哪裡?

ERC-4337:應用層的賬戶抽象标準

ERC-4337:使用 Alt Mempool 進行賬戶抽象。ERC-4337 由 Vitalik 提出,是應用層标準,主要目标是讓智能合約賬戶具有 EOA 主動發起交易的特性。它通過引入一個名為 EntryPoint 的智能合約,使得智能合約可以表現得像是使用者的賬戶,也就意味着使用者操作類似賬戶的智能合約來管理他們的資産和交易。這樣便可以實作複雜邏輯,如多簽名、自動執行交易等。

主要特點:

  • 無需硬分叉:ERC-4337 不需要通過硬分叉來實作,不需要對以太坊的協定進行任何修改。
  • 相容性:這種方法與現有的 EOA 系統相容,使得過渡更為平滑。
  • 目标:實作賬戶抽象,使智能合約可以作為賬戶來處理和驗證交易。
  • 本質:讓智能合約賬戶具有 EOA 主動發起交易的特性。

EIP-3074:授權和代理執行

EIP-3074:AUTH 和 AUTHCALL 操作碼。EIP-3074 由以太坊研究員SamWilsn、Go Ethereum 開發者Matt Garnett等人提出,且 Vitalik 未參與此提案的起草,這是一種允許 EOA 将其權限委托給智能合約的方法,引入了兩個新的操作碼:AUTH 和 AUTHCALL,使得智能合約可以代表 EOA 執行操作,比如批量處理交易、贊助 gas 費用。這對于以太坊的虛拟機是一個較大的變動。

主要特點:

  • 委托機制:EOA 可以通過 AUTH 操作碼授權一個智能合約,然後通過 AUTHCALL 讓這個智能合約代表它執行操作。
  • 安全隐患:委托機制可能導緻安全問題,因為如果授權給惡意合約,可能會導緻資金被盜。
  • 目标:通過允許 EOA 将其權限臨時授權給智能合約,來增強 EOA 的功能性。
  • 本質:更新 EVM,增加兩個操作碼。

EIP-7702:臨時智能合約化的 EOA

EIP-7702:為一筆交易設定 EOA 帳戶代碼。Vitalik 作為第一作者,于 5 月 7 日剛釋出了此提案。作為 EIP-3074 的替代方案,EIP-7702 引入一種允許 EOA 在交易過程中臨時采用智能合約功能的機制。通過這種方法,EOA 可以在單一交易執行期間将 EOA 轉換成智能合約錢包,而在交易結束後恢複到普通狀态。并且因為 EIP-7702 已經提供了臨時改變 EOA 代碼的架構,是以在 EIP-7702 的基礎上實施 EIP-5003(允許 EOA 永久轉變為智能合約賬戶)變得相對簡單,通過設定不在交易結束後清除代碼,可以實作 EOA 到智能合約的永久轉變。

主要特點:

  • 臨時轉換:在交易過程中,EOA 的智能合約代碼臨時被賦予執行特定操作的能力。
  • 高度相容性:EIP-7702 與 ERC-4337 的智能合約錢包代碼高度相容,可以直接利用已經為 ERC-4337 編寫和部署的智能合約代碼,使得現有的賬戶抽象化工作可以被重用,避免分裂現有的賬戶體系。
  • 無需引入新的操作碼:與 EIP-3074 相比,EIP-7702 雖然也是協定層标準,但它在交易中臨時應用智能合約代碼,不需要永久改變以太坊虛拟機。
  • 目标:結合 EIP-3074 和 ERC-4337 的特點,提供一種更加靈活和相容的賬戶抽象方案。
  • 本質:臨時應用智能合約代碼。

EIP-7702 提供了一種避免引入新操作碼而實作類似 EIP-3074 功能的方法,同時更好地為賬戶抽象終局的實作做準備。賬戶抽象終局(endgame of account abstraction)是指一個預見的未來狀态,在這個狀态中,以太坊上的所有賬戶都使用智能合約錢包來管理資産和交易,而不再依賴傳統的 EOA。這種普遍的賬戶使用智能合約錢包的情景,被稱為賬戶抽象的「終局」。EIP-7702 不僅解決了目前的問題,還通過與未來可能的賬戶模型的相容性設計,確定了長期的有效性和實用性。