來源:MetaCat
EIP-3074 被批准在下一個以太坊硬分叉(Prague)中上線。這個EIP 將永遠改變用戶在EVM 鏈上互動的方式,讓錢包用戶體驗更簡單、更便宜、更強大。以下是EIP-3074 的概述以及它將如何改變遊戲規則:
3074 的TLDR 是它賦予EOA(普通錢包)智慧合約功能(如帳戶抽象)。這包括:進行單次交易批准、批量交易、錢包資產恢復、贊助交易(sponsored txs)等的能力。我們先來談談現在錢包的問題。
下圖是錢包用戶體驗問題的列表,它們可以透過智慧合約錢包來解決,但這將迫使用戶不得不遷移錢包,這會帶來糟糕的用戶體驗並且需要花費gas。
這顯然不是最好的方案。
那我們要如何將現有的EOA 錢包變成智慧合約錢包呢?
透過新增兩個新的操作碼(電腦指令):AUTH 和AUTHCALL。這兩個操作碼協同工作,允許智能合約代表EOA 行事。以下是關於它們如何工作的快速概述(如果不感興趣就跳過)。
AUTH 會取得使用者的簽章和預期操作,並驗證其簽章是否正確。它設定一個變數來說明txn 的原始位址。
AUTHCALL 然後使用發起者位址作為呼叫者而不是實際的msg.sender 來呼叫目標合約。
這就是EIP-3074 的工作原理:
– 用戶簽署一則訊息(鏈外,不是交易)
– 用戶或發起人將訊息作為交易發送到呼叫者合約
– 呼叫者(Invoker)使用AUTH 和AUTHCALL 來驗證並呼叫每個目標合約,並以使用者的位址作為發送者。
我們從這個新的交易流程中獲得了一些解鎖。
解鎖#1 是可以贊助交易(sponsored tx)。假設Bob 的錢包裡沒有任何ETH。應用程式可以為Bob 的交易提供Gas,而不需要Bob 購買/橋接ETH。這對於獲得小額支付大規模採用的意義可能是巨大的。
解鎖#2 是在一次交易中執行多個操作的能力。現在,為了在Uniswap 上交換代幣,你必須先批准Uniswap 使用你的代幣,然後再執行實際的交換。使用者體驗不是很好。使用EIP-3074,這兩個操作可以壓縮到單一交易中。
解鎖#3 是資產追回。可以設定一個特殊的呼叫者合約,以便你在丟失私鑰時可以使用社交恢復來恢復資產。如果滿足社交恢復條件,則可以向呼叫者提交簽名以轉移資產。
我們應該認識到EIP-3074 有幾個缺點。
最大的一個缺點是關於呼叫者(Invokers),這些呼叫者需要經過全面審核、不可升級且免信任,否則用戶的資金很容易被盜。
此外,某些現有的重入檢查可能不適用於EIP-3074。
由於EIP-3074 新增了兩個新的操作碼,因此需要硬分叉來新增此變更。這就是EIP-3074 被延遲以及ERC-4337 被首先採用的部分原因。 ERC-4337(帳戶抽象化)不需要硬分叉,純粹是合約和鏈下系統的改變。
今天(2024年4月12日)的核心開發執行情況摘要如下:
– EIP-3074 將包含在以太坊Pectra 硬分叉中。
非常感謝@lightclients ,EIP-3074 作者之一,多年來一直在推動這個EIP。
要了解有關EIP-3074 的更多信息,您可以在此處找到完整的EIP:
https://eips.ethereum.org/EIPS/eip-3074
此外,來自 @lightclients 的演講非常深入,可以幫助我們更好地理解EIP-3074:
總結:EIP-3074 將簡化、保護鏈上互動並降低gas 費用。 EVM 即將推出兩個新的操作碼,它們將增強EOA 的能力,並使它們幾乎可以當作智慧合約錢包來使用。