以太坊下次更新的 EIP-3074 是什麼?如何做到帳戶抽象?

Kyle
分享
以太坊下次更新的 EIP-3074 是什麼?如何做到帳戶抽象?

以太坊近期 ACDE 會議頻頻提到 EIP-3074。為何以太坊下次的 Pectra 升級將會重新納入過去被遺棄的 EIP-3074?與既有的帳戶抽象方案 ERC-4337 有什麼不同?ChainFeeds Research 對此技術彙整與科普介紹

EIP-3074 回歸:帳戶抽象技術成為以太坊下次升級重點

在以太坊第 183 次 ACDE 會議中,沉寂三年的 EIP-3074 重新得到了以太坊社群廣泛的認可,正式被納入下一次以太坊硬分叉 Pectra 的升級範疇之中,預期可以帶動帳戶抽象 (Account Abstraction, AA) 技術的發展。

推薦閱讀:意圖導向設計 intent-centric|創投 NGC 彙整產業趨勢
推薦原因:帳戶抽象是意圖導向設計的第一步,該文章從意圖導向設計與帳戶抽象的意涵與重要性出發,講述現有技術的實作方向與區塊鏈結合的具體作法,並且盤點產業主流專案的技術介紹與發展現狀,建議對此領域不熟悉的讀者閱讀。

廣告 - 內文未完請往下捲動

EIP-3074 是以太坊虛擬機的升級:新增操作碼實現 EOA 帳戶代理

EIP-3074 由以太坊研究員 Sam Wilson 、Go Ethereum 開發者 Matt Garnett 等人提出。其核心機制是讓外部擁有帳戶 (EOA) 能像智能合約錢包一樣運作,並且無需部署額外的合約、無需用戶手動升級。

EOA 是一種由使用者直接控制的以太坊帳戶類型,例如 MetaMask 所創建的錢包帳戶。相較於智能合約帳戶支援的功能較少,不過一般來說後者需要 EOA 才能觸發。

EIP-3074 引入了兩個新的以太坊虛擬機器操作碼 (opcode):AUTH 和AUTHCALL,藉此使 EOA 能連接起一個智能合約,並將交易的控制權交給智能合約:

  • AUTH:用於驗證橢圓曲線數位簽章算法 (ECDSA) 簽名的操作碼,基於簽名結果設定一個變數 authorized。如果簽名有效,且簽署者位址符合給定的授權地址,則將 authorized 設定為授權位址。藉此 AUTH 就能允許一個智能合約代表 EOA 執行操作,實現授權控制的委託。
  • AUTHCALL:類似於現有的 CALL 指令,用於執行一個外部呼叫。不同之處在於,AUTHCALL 會使用先前透過 AUTH 指令設定的授權地址作為呼叫者地址,代表 AUTHCALL 會使用授權的 EOA 作為發送方,而不是被授權的合約本身。

整體流程是:使用者用 EOA 簽署授權訊息,給合約接收並驗證,合約使用 AUTH 和 AUTHCALL 指令以 EOA 的身份發送交易,代替使用者執行交易,而無需直接使用使用者的私鑰,然後返回結果給使用者。透過 EIP-3074 使用者可以授權將帳戶操作的權限授予第三方 (Invoker)

EIP-3074:讓 EOA 能將控制權委託給智能合約。

EIP-3074 與 ERC-4337 的區別?

ERC-4337 是協議層的改動,不需要更改共識層。 ERC-4337 引入 User Operations 與替代內存池 (alt mempool) 的設計,允許將自定義功能編碼到智能合約錢包,主要目標是實現帳戶抽象,讓智能合約帳戶具有 EOA 主動發起交易的特性。

而 EIP-3074 因為加入新的操作碼,需要透過以太坊硬分叉來實作,主要目標是賦予 EOA 類似智能合約的功能,將 EOA 的控制權委託給智能合約,使得智能合約可以代表用戶進行交易。

ERC-4337 讓智能合約擁有類似 EOA 的功能,僅需要修改協議設計;而 EIP-3074 則是修改 EVM 使得 EOA 具備智能合約錢包的功能,但帳戶仍然是EOA。

為什麼已經有 ERC-4337 還需要 EIP-3074?

雖然 ERC-4337 已經有許多專案投入,但在多鏈時代為每條鏈支援 ERC-4337 需要大量的開發工作。而像 EIP-7377 提出的遷移交易 (讓 EOA 用戶將其帳戶遷移到智能合約),是需要用戶手動發送一筆交易進行遷移的,不利於大規模採用推進。

(意圖導向設計的優勢與挑戰,相關基礎設施還有很長的路要走)

相較之下,EIP-3074 讓 EOA 原生具備智能合約的功能,可以直接在所有鏈上使用,且不需要使用者手動去升級,預期 EIP-3074 可以帶動帳戶抽象應用的發展。

EIP-3074 的優勢在於簡單,僅需要修改以太坊虛擬機操作碼,即可以更快速推動以太坊帳戶抽象發展。

先前以太坊社群擔心 EIP-3074 的技術安全問題,經過改進和測試之後,目前社群已經廣泛支持將 EIP-3074 加入到下一次以太坊升級中,這將對以太坊生態系統中的多個領域產生影響。

EIP-3074 實作後以太坊可以有什麼改變?

當 EIP-3074 成功升級 Ethereum,預期可以讓用戶在網路上使用批量交易與贊助交易的功能:

  • 在 DeFi 領域,EIP-3074 的大量交易功能將提升流動性提供者和交易者的效率,並降低參與成本。
  • 在全鏈遊戲領域,用戶可以藉由授權將帳戶操作的權限授予第三方,避免每次交易都需要用戶進行鏈上確認和支付燃料費用的問題。遊戲開發者或其他第三方可以取代使用者執行交易,使用者只需要一次性授權即可,提升了遊戲的流暢性。

EIP-3074是否有什麼潛在風險?

雖然 EIP-3074 受到開發者的支持,但引入此機制仍有既定的風險:

  • 在以太坊交易中,節點驗證者需要確切知道交易細節,以便正確處理交易,以確保網路的安全和穩定性。但在 EIP-3074 中允許智能合約代替 EOA 執行交易,當涉及到贊助交易時,與其他合約或帳戶進行互動可能會改變交易執行前和執行後的帳戶狀態,使節點驗證找難以準確預測交易的影響,而產生網路不一致的安全風險。
  • 此外,雖然使用者可以透過簽名來授權第三方操作帳戶,但這也意味著第三方可以在一定程度上操作使用者的帳戶,這可能導致潛在的安全問題。且如果第三方的權限被濫用或遭受駭客攻擊,使用者的資金和個人資訊可能會受到威脅。

以太坊開始著手提升使用者體驗

帳戶抽象技術與意圖導向設計已經在社群討論多年,不過由於以太坊過往的更新仍是以網路安全與效率為主進行更新,使用者體驗的相關更新通常都是被擺在後位。

推薦閱讀:以太坊釋出 2024 路線圖,持續以世界結算層方向前進
推薦原因:該文章全面說明以太坊近年的發展路線圖與方向,可以藉此知道帳戶抽象與使用者體驗相關的工作,在以太坊基金會開發計畫藍圖中的哪一塊,更有系統地理解以太坊發展。

不過藉由這幾次的 ACDE 會議,看到許多開發者開始將 EIP-3074 的重要性排序往前移,或許代表以太坊終於要開始針對使用者體驗問題大展身手了,EIP-3074 僅僅是第一步。