EIP-7702 是Vitalik Buterin最新提出的一個提案,如果生效,將是以太坊歷史上最重要的變化之一。本文將介紹這個新提案的工作原理和所需了解的所有內容。
首先,EIP-7702提案非常簡短,這讓一些人感到困惑,不知道它具體如何運作。為了理解7702,我們首先要了解其中提到的另外三個提案:EIP-4337、EIP-3074和EIP-5003。
這些提案的共同目標是「帳戶抽象」。以太坊上的普通帳戶(EOA)存在許多風險且功能有限,而帳戶抽象允許使用者使用智慧合約作為帳戶,以解決這個問題並增加功能和安全性。
EIP-4337於2023年3月在主網上線,它允許像帳戶一樣編寫智慧合約,以便它們可以驗證和執行交易,這大大改進了使用者體驗。
EIP-4337目前已獲得廣泛採用,主要由Polygon主導,而Base在過去幾個月中的相關活動也在增多。Coinbase生態和Coinbase智慧錢包也帶來了EIP-4337相關的創新,這些創新基於生物識別技術,使用者體驗非常出色。
然而,EIP-4337存在一些問題。目前大多數使用EIP-4337的智慧合約帳戶都由單個EOA控制,這導致了一個奇怪的中間步驟解決方案。這主要是因為Web3應用缺乏對連線智慧合約帳戶的原生支援,所以大多數人仍然使用EOA通過MetaMask等外掛錢包。
這就引出了下一個提案:EIP-3074。這個提案試圖賦予EOA更多權力,允許他們將控制權委託給智慧合約。該提案新增了兩個新的操作碼:AUTH和AUTHCALL。使用者可以通過呼叫AUTH來授權智慧合約代表他們執行操作,而獲得授權的智慧合約可以使用AUTHCALL為EOA執行交易。
EIP-3074實現了與EIP-4337許多相同的用例,而無需每個使用者部署新的智慧合約。然而,有人擔心如果有人制定惡意合約並且使用者委託給他們,將會有安全問題。解決這個問題的方法是錢包服務提供商不允許使用者對任何合約進行授權,他們可能會保留一份使用者可以委託授權的智慧合約白名單列表。
EIP-5003則是從EOA永久遷移並轉換到智慧合約帳戶的下一步。它添加了一個名為AUTHUSURP的操作碼,該操作碼將程式碼部署在EIP-3074授權地址。
然而,EIP-3074 + EIP-5003與目前通過EIP-4337建構的帳戶抽象方案不太相容,有人擔心這將導致兩個獨立的帳戶抽象生態系統。因此,Vitalik Buterin提出了EIP-7702的建議,他建議修改EIP-3074以使其更精簡並與EIP-4337相容,同時將EIP-5003視為永久遷移的下一步。
EIP-7702提案引入了一種新的交易類型,同時接受contract_code和簽名欄位。在執行交易時,它將簽名者帳戶的合約程式碼設定為contract_code,在交易結束時將程式碼重新設定為空。
這個提案與迄今為止為EIP-4337建構的所有帳戶抽象工作高度相容,這意味著使用者現有的EOA可以執行任何智慧合約程式碼。這可能會徹底改變我們與Web3應用的互動方式。
相關報導:
– EIP-3074後,惡意的簽名會導致以太坊錢包資金被耗盡?開發者親自解惑
– 以太坊下一步:EIP-3074納入布拉格升級,智能合約引入錢包帶來三大改革
– 以太坊坎昆升級懶人包:Dencun啟動時間、EIP改進提案、對質押驗證者開發者有什麼影響?