天天看點

EIP-3074,能否讓以太坊再次變得簡單?

作者:MarsBit

原文作者:LUKAS SCHOR & SAFE

原文來源:safe.global

原文标題:EIP-3074: Risks/Opportunities for Smart Account Adoption (and why we need EIP-5003)

編譯:白話區塊鍊

本文要點:

以太坊核心開發者已經達成一緻,計劃将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最初開始時期望值被誇大了,這有助于吸引動力和吸引開發者。有積極的信号表明我們接近一個臨界點,主要交易平台(OKX,Coinbase)和錢包(Trust,Metamask)正在投資支援ERC-4337。但誇大的期望也意味着不可避免的清醒時刻,即實作完整AA(通過RIP-7560或類似方式)将比最初預期的時間更長,因為目前對于Layer 2來說,緻力于RIP-7560的興趣和緊迫性仍然很小。

EIP-3074,能否讓以太坊再次變得簡單?

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,能否讓以太坊再次變得簡單?

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的風險,或者至少會嚴重阻礙智能賬戶的采用。

EIP-3074,能否讓以太坊再次變得簡單?

以太坊AA路線圖的十字路口(感謝Vitalik提供的改進思路)