EIP-3074將賦予普通的EOA地址智能合約的功能,包括批量交易、錢包資產恢復、gas資助等,從而大大改善用戶體驗。本文源自Mocaverse顧問cygaar所著文章,由Odaily星球日報整理、編譯及撰稿。
本週4月12日,以太坊核心開發者執行會議(ACDE)第185次會議召開,會議討論了以太坊後續兩次大版本升級(布拉格升級、大阪升級)的內容規劃。
本次會議中最重要的成果是確定將EIP-3074納入布拉格升級,該EIP為普通地址新增智能合約功能。以下是對EIP-3074的功能及意義的分析。
簡單來說,EIP-3074將普通的EOA地址賦予智能合約的功能,包括批量交易、錢包資產恢復、費用資助、對單筆交易進行授權等,從而提升錢包端的使用者體驗。
首先,讓我們談談當前普通錢包所存在的問題。當前普通錢包存在一些使用者體驗問題,例如授權代幣時需要一筆一筆進行交易,所有操作往往都會與交易一對一關聯,沒有針對丟失私鑰的防護措施,沒有ETH就無法執行交易等。
這些問題可以通過智慧合約錢包來解決,但現有的解決方案需要使用者進行地址遷移,從而帶來糟糕的使用者體驗和大量成本消耗,不是一個好方案。
那麼我們該如何給現有的普通地址賦予智慧合約功能呢?答案是通過增加AUTH、AUTHCALL等兩個新的操作碼來實現新功能,這兩個操作碼將協同工作,允許智慧合約替代普通地址執行具體操作。
AUTH負責接受使用者的簽名以及預期的行動,並驗證簽名是否正確。它還將設定一個變數,即表明發起交易的起始地址。AUTHCALL則負責呼叫目標合約,並讓發起交易的起始地址替代呼叫者地址作為呼叫源。
通過這一全新的交易流程,我們將啟用一些全新的功能。比如第一項潛在的新功能是可以實現「費用資助」,假設使用者的錢包裡沒有任何ETH,EIP-3074之後各大應用也可以幫助使用者墊付gas,從而無需使用者自己再去購買或橋接ETH。
第二項潛在的新功能是在一筆交易中執行多項操作。當前,使用者在Uniswap上某個交易某個全新代幣時,必須先行授權Uniswap使用該代幣,然後才能真正地進行交易。有了EIP-3074之後,兩項操作可以通過一筆交易直接完成。
第三項潛在的新功能是資產恢復。通過EIP-3074,使用者可以設定一個特殊的呼叫者合約,如果出現了私鑰丟失情況,使用者還可以使用經驗證的社交媒體資訊來恢復資產,只需向呼叫者合約提交簽名,就可以從原地址中轉移資產。
除了這些優勢之外,EIP-3074的出現也會帶來一些新的風險點。最大的風險點來源於呼叫合約,它必須經過全面審計、不可升級且無需信任,否則使用者的資金很容易被盜。此外,一些現有的重入檢查可能也無法適用於EIP-3074。
由於EIP-3074增加了兩個新操作碼,因此需要進行硬分叉升級才能新增此項更新。這是EIP-3074被推遲至今的部分原因,也是ERC-4337首先被採用的原因。ERC-4337不需要硬分叉,因為它純粹是智慧合約以及鏈下系統層面的變更。
總而言之,EIP-3074有望顯著改變當前的鏈上互動模式。EVM環境將迎來兩個全新的操作碼,它們幾乎可以讓普通地址作為智慧合約執行。展望未來,開發者們如何利用這一模式轉變將是一件非常令人興奮的事情。