作者:LUKAS SCHOR & SAFE
翻譯:白話區塊鏈
本文要點:
以太坊核心開發者已經達成一致,計劃將EIP-3074納入即將到來的硬分叉升級Prague/Electra(預計在2024年第四季度/2025年初)。EIP-3074允許外部擁有的賬戶(EOA)將其交易能力委托給智能合約,增強了交易贊助和批量處理等功能。雖然EIP-3074作為一種短期修復措施,旨在改善EOA的用戶體驗,但大多數以太坊社區仍然一致認為,最終目標是將所有用戶遷移到智能賬戶。EIP-3074對智能賬戶帶來了一些改進,并成為實現完全AA(賬戶抽象,也稱為智能合約賬戶)的一個步驟,但它絕對需要EIP-5003的全面支持。如果沒有EIP-5003,我們將進一步確立EOA的地位。
1、什么是EIP-3074?
EIP-3074修改了以太坊協議,允許外部擁有的賬戶(EOA)將其交易能力委托給智能合約(稱為“調用者”),從而實現以下額外功能:
贊助交易:dapp或其他參與方可以贊助交易的燃料費用。
批量交易:這允許在同一筆交易中執行兩個或多個合約調用。例如,用戶可以在單個交易中調用approve和transferFrom。
訪問委托:用戶可以將對其EOA的控制委托給可能具有不同安全屬性的其他密鑰。例如,用戶可以向其賬戶添加一個每日額度的手機熱錢包密鑰。
這些功能目前只能在智能賬戶上使用,這意味著應用程序必須為EOA和智能賬戶構建兩種不同的用戶體驗。
2、智能合約賬戶(AA)的機會
EIP-3074主要賦予了EOAs更多權力,但它也為智能賬戶帶來了一些新的有益副作用:
更容易的遷移:借助賦予EOAs更多權力,用戶可以更輕松地遷移到智能賬戶。迄今為止,用戶轉換為智能賬戶的一個重要挑戰是遷移現有資產的工作量和燃料成本。EIP-3074允許在單個批量和贊助交易中更平滑地進行遷移。
統一的用戶體驗和開發體驗:dapp可以構建更好的用戶體驗,而無需排除EOAs。這大大增加了利用贊助交易和交易批處理的動力,以及圍繞它們的標準。dapp通常需要調整為更靈活的賬戶邏輯,這將使智能賬戶功能(如會話密鑰或多簽)更好地適應整體開發框架。
混合賬戶:EOAs可以將智能賬戶設置為調用者。例如,這將使智能賬戶能夠控制EOA,而EOA的私鑰仍然保持優勢,并可以禁用安全的控制。這可能導致有趣的新型混合托管用例,或者允許EOA用戶在遷移資產之前“測試”智能賬戶。
3、EIP-5003:彌合與智能賬戶之間的差距
盡管EIP-3074允許將對EOA的控制委托給智能賬戶,但原始私鑰仍然可以對EOA上的任何操作進行授權。這導致EIP-3074無法引入任何(安全)功能,例如:
多簽名:多重簽名錢包或鏈上多因素認證仍需要智能賬戶,因為EIP-3074的EOA始終由原始私鑰控制。
恢復:雖然某些恢復方案可能是可行的,但使用EIP-3074無法恢復(更改)控制EOA的主要私鑰,因此許多恢復方案需要完整的智能賬戶。
量子抗性:最終,我們無論如何都需要將用戶遷移到智能賬戶,以實現量子抗性,無論是自然遷移還是通過緊急硬分叉。
其他功能:拒絕列表、共同簽名者/保護者、根據用例要求不同簽名方案的回退處理程序。
有一種可行的遷移路徑被討論,可以彌合這一差距,并允許將現有EOA完全遷移到智能賬戶中:EIP-5003。此升級擴展了EIP-3074,允許在EOA地址部署智能合約代碼的同時,撤銷原始私鑰的訪問權限。這樣可以將EOA完全轉換為智能賬戶,同時保留公共地址、不可轉讓的Token和聲譽,并在未來的賬戶抽象路線圖中通常保證向前兼容性。
然而,對于這種升級路徑的可行性存在一些關切,特別是與以下邊際情況相關的問題:即假定已撤銷的私鑰仍然可以授權對賬戶的操作:
跨鏈:撤銷的EOA密鑰在其他網絡上仍然有效,包括未來可能出現的網絡。這可能允許任何人通過訪問原始私鑰,在不同的網絡上聲明同一賬戶并轉移資產。
如果將EOA遷移到特定網絡上的智能賬戶,不能假設EOA會自動遷移到新網絡上。智能賬戶今天已經面臨類似的問題,無法在新網絡上部署,以及狀態更改(密鑰旋轉)無法同步。像密鑰存儲滾動這樣的跨鏈方法可能在一定程度上緩解這個問題。
離鏈簽名:被泄露的密鑰仍然可以在離鏈系統中被濫用,例如dapp的登錄流程或permit2令牌的批準,這些流程會驗證簽名。雖然這些系統可能支持EIP-1271等智能合約簽名標準,但通常只在標準ecrecover失敗時才使用它們,這給已撤銷的密鑰可能破壞賬戶留下了空間。
明智的做法是,在EIP-5003中,對于已遷移到智能賬戶的EOA,始終使ecrecover(以太坊中的一個函數)失敗。遷移到智能賬戶應該是對新的身份驗證邏輯的明確和完整的轉移。
4、EIP-3074對AA是好還是壞?
在過去幾個月里,社區傾向于將ERC-4337作為實現完整AA的第一步。它為開發者生態系統的啟動提供了幫助,穩定了規范和打包工具,并創造了一些經驗教訓。隨后計劃在Layer 2上實現原生AA(RIP-7560),并最終在Layer 1上引入類似的EIP。
ERC-4337最初開始時期望值被夸大了,這有助于吸引動力和吸引開發者。有積極的信號表明我們接近一個臨界點,主要交易平臺(OK,Coinbase)和錢包(Trust,Metamask)正在投資支持ERC-4337。但夸大的期望也意味著不可避免的清醒時刻,即實現完整AA(通過RIP-7560或類似方式)將比最初預期的時間更長,因為目前對于Layer 2來說,致力于RIP-7560的興趣和緊迫性仍然很小。
AA相關的以太坊標準/升級正在經歷各自的“炒作周期”。
這就是部分社區轉向EIP-3074的原因之一。由于將用戶遷移到智能賬戶似乎還為時過早,一些聲音變得響亮起來,至少在此期間部分修復EOA問題。EIP-3074并不取代ERC-4337,它們實際上具有相當的協同效應,但它確實將焦點進一步轉移離開ERC-4337/RIP-7560。
為了實現完整的AA,我們需要找到將現有EOA遷移的方法。由于EOA仍然占據以太坊用戶的大多數,這影響了開發者和團隊的優先事項。這可以通過兩種方式實現:(1)讓用戶手動切換到智能賬戶,或者(2)實施將EOA轉換為智能賬戶的方式。
包含EIP-3074存在著將我們進一步遠離實現完整AA的風險。它增強了EOA,對于(1)起到了消極的作用,同時并沒有真正解決(2)的問題。
沒有EIP-5003,EIP-3074目前缺乏實現完整AA的明確路徑,并對AA的采用產生了負面影響。更重要的是,在下一個硬分叉升級Prague/Electra之后,可能不會再有一個為期2年的窗口來包含與AA相關的升級,因為重點將轉向verkle樹。因此,我們應該在Prague/Electra升級中包含EIP-5003,以防止進一步確立EOA的地位。
EIP-3074對AA路線圖的影響,包括有/無EIP-5003
5、總結
圍繞EIP-3074的辯論是以太坊賬戶抽象軌跡的一個關鍵節點。
原始的AA路線圖:嘗試應用層的AA(ERC-4337),通過L2展示原生AA(RIP-7560),最終在L1上引入原生AA。通過遷移交易(EIP-5003,EIP-7377甚至強制遷移)解決舊版EOA問題。這條路徑可能比預期時間長得多,并受到EOA的主導地位的阻礙。
我們應該采取的行動:實施EIP-3074,但同時在布拉格/電氣硬分叉中包含EIP-5003,以實現對智能賬戶的完整遷移。這樣可以確保不讓遺留用戶被落下,同時又確保他們不會阻礙AA的努力。
我們目前計劃要做的事情(最糟糕的情況):僅實施EIP-3074,并冒著確立EOA的風險,或者至少會嚴重阻礙智能賬戶的采用。
以太坊AA路線圖的十字路口(感謝Vitalik提供的改進思路)
本文鏈接:http://www.zhucexiangganggs.com/kp/du/04/5142.html
來源:https://safe.global/blog/eip-3074-risks-opportunities-for-smart-account-adoption