在L2技術動態呈現“短期OP,長期ZK”之後,Vitalik的心思開始向賬戶抽象(Account Abstraction)技術傾斜,在本次以太坊波哥大開發者大會上,他也為支持賬戶抽象技術的錢包Soul wallet點贊,引得關注。
賬戶抽象可從源頭減少交易的數據,再結合Rollup方案,可作為一體化的“數據瘦身”方案,大幅減少Gas Fee的消耗和使用,一個易用且便宜的以太坊網絡將出現在世間。
10月3日,Vitalik補充EIP-4337賬戶抽象提案內容,增加了BLS簽名算法的數據聚合部分,可以讓構建者和批驗證者聚合簽名,以減少所廣播至主網的數據。
並且,StarkNet也在新版本更新中提出有關賬戶抽象的詳細設計。而困擾賬戶抽象的DoS危機,也隨著更多的Zk系Rollup投入使用得到解決,ZK方案的安全性並未得到如同數據壓縮特性相同的重視,這是以往長期被忽視的特點,有望在賬戶抽象路線之爭上得到全方位展示。
由此,基本上拉開了ZK+AA的鏈上數據解決方案序幕,一個迥異於任何現存公鏈的分層解決方案雛形就此誕生,這將會為以太坊帶來深遠的影響。
思路轉變:非共識層賬戶抽象
在本次的更新中,是通過EIP提案的方式來設計賬戶抽像模型,而在最初的設想中,本來是希望改變以太坊本身的賬戶地址設計,一統EOA賬戶和智能合約地址,這也是最初的以太坊賬戶地址設計方案。
在4337之前的提案中,如EIP-86/208、EIP-859以及EIP-2938等提案,這些提案有一些共同特點,基本上都是在基於以太坊主網進行改造,在以太坊L2方案未廣泛得到採用的環境下,貿然對主網進行“傷筋動骨”般的操作風險過大,實際上將賬戶抽象的優先級置於L2之後。
這在工程上並不是最優解,但是秉持“又不是不能用”的原則,賬戶抽象真正落到實處需要等待L2解決方案,尤其是ZK路線的實用化。
本質上,賬戶抽像想要實現的功能,目前都可以通過EOA賬戶+智能合約的方式實現,並非影響到以太坊主網,社區只想要一種“改進”,而非推倒重來。
最終,ERC-4337得到了較為普遍的認同,不再對將作為共識層的L1主網進行改動,而是在其上賦能智能合約,以一種漸進的方式實現賬戶抽象。
智能合約:ERC-4337標準一統天下
如前文所述,以太坊上存在EOA外部賬戶地址與智能合約地址這兩種地址類型,其中EOA控制著“人類”與以太坊的交互,比如說需要私鑰、助記詞、ETH(Gas Fee )等前提條件;而智能合約地址是預先寫好的函數,在特定條件下執行特定任務。
兩者互相配合,打造出最為豐富的以太坊生態,而助記詞、錢包、私鑰、智能合約等概念也深入人心,但其實這並非以太坊的最優解,維護兩套地址類型會降低主網運行效率,比如需要額外開銷去判斷一個地址究竟屬於何種地址類型,更不要說複雜的操作會需要昂貴的Gas Fee。
因此,從2015年開始便不斷在尋求將二者合併,目前的4337提案是最為接近成功的一種方案設計,本質上而言,是用智能合約方案,或者賦予賬戶抽象更為高階的“智能”來一統兩者,而非在共識層層面修改主網,以在安全和效率之間求取平衡。
用戶被期望發送稱為用戶操作(User Operations)的鏈外信息,這些操作被區塊構建者收集並批量打包成一個批交易。構建者負責過濾這些操作,以確保他們只接受支付費用的操作。並有一個單獨的Mempool用於用戶操作,連接到這個Mempool的節點進行ERC-4337特定的驗證,以確保用戶操作在轉發之前保證支付費用。
這樣做的好處有如下幾點:
•更為智能。智能合約的邏輯特性將為更複雜的操作提供可能性;
•更加安全。錢包可內置多簽功能以及社交恢復功能,擺脫助記詞。
•更加靈活。比如可以實現他人讚助交易,避免自身無ETH可支付Gas的窘境。
本質上,ERC-4337設計的賬戶抽像是將智能合約“下放”到普通賬戶上,將一些複雜的邏輯功能化,用戶在前端只感受到更為便捷,而無需深刻了解內在邏輯。
但是,智能合約的邏輯複雜性也會帶來額外的賬戶開銷,因此才需要技術上持續優化,並配合Rollup方案達到整體提速降費的效果,兩者一起構成後PoS時代的主力改進方向,優先度僅次於終極解決方案DankSharding。
天生一對:賬戶抽象和Rollup的契合點
在賬戶抽象投入使用之前,先總結下當下賬戶抽象和Rollup的特點,尋找到二者可以結合的契合之處:
- 賬戶抽象:保密、智能、通用,但是Gas Fee貴,貴是因為步驟多導致的數據多,剛好Zk-Rollup擅長減少數據;
- 功能豐富:錢包多簽確保安全、權限分割便於治理,但是導致的邏輯也會更為複雜,安全漏洞會相應擴大;
- 還未爆發:Rollup還在前ZK時代,目前的賬戶抽象解決方案是以大規模L2實用化為設想前提,仍是一個預研的技術;
- 未來一致:L2逐步成型後,共識層將不再改動,智能合約會有更多用武之地,賬戶抽象的安全性也可得到保障。
賬戶抽象雖然可以提高地址的智能性,但是在目前並不適合直接推向用戶,其高度的複雜性會直接推高Gas Fee以及降低安全性,以他人讚助交易為例,一旦機制出問題,會直接導致主網的運行危機。
而推高Gas Fee在提案中也有詳細說明,這也是Vitalik本次補充ERC-4337的直接動因,理論上而言,一個賬戶抽像地址每一步都需要計算,無人工干預下需要更多計算資源來保證安全,交易需要包含以下一次性設置合約地址和設置代理地址成本。
傳統的EOA外部賬戶地址則無需如此”複雜“的交易邏輯,其本身已經經由人工驗證和以太坊主網設置完畢,可直接投入使用,賬戶交易Gas Fee約是賬戶抽象的1/2。
因此在更為廉價的解決方案投入使用之前,賬戶抽象的複雜性反而會拖累以太坊的運行速度,而這正是ZK-Rollup的機會,其更擅長以壓縮後的數據呈現全局驗證結果。
本次Vitalik更新的提案內容,其實是打通賬戶抽象和Rollup的數據接口,讓L2解決方案也可以處理賬戶抽象產生的數據,其改進點在於,將只能分步驟實現的功能打包成批交易,高度接近於Rollup的思路,而依舊通過SNARK技術來確保交易的有效性。
可以設想一下,Rollup和賬戶抽象結合後,以太坊將呈現出數據通用,驗證便捷,高度安全的特性,而無需對共識層進行改進的特性,會依賴於更為精細化的解決方案。
類似於多種Rollup解決方案,賬戶抽像也有機會產生生態爆發的可能,比如說目前EVM生態最大的智能合約多簽錢包Gnosis-Safe,其技術護城河便不復存在,新一輪的敘事模型會促進更新的解決方案的出現。
而在Layer 2解決方案中,StarkNet也在嘗試結合賬戶抽像功能,從設計之初就將其納入其中,包括通過Entry Point合約規範的賬戶抽像模塊,包括驗證和執行分離、添加Nonce字段以在協議級別強制執行事務唯一性等。
並且,StarkNet會構造L2和L1直接的通信件,以更好的協調兩者之間的狀態通傳機制,在壓縮數據成本的前提下,賬戶抽象的優勢才可能被發揮出來,更加智能和便宜。
結語
從2015年第一份實際上的賬戶抽象方案提出至今,已經過去7年有餘,而在ZK-Rollup緩步推進的大背景下,真正實現賬戶抽像功能仍舊需要很長時間,但是正如同PoW到PoS的轉型依然實現,以太坊正在按照自己的既定路線去發展。賬戶抽像作為和PoS、Layer 2、DankSharding等長期謀劃的重大基礎性功能,將會在PoS和Zk-rollup版Layer 2實現後得到更廣泛的使用。
而隨著越來越多的Rollup兼容賬戶抽象方案,我們也許在不遠的未來就可以丟掉助記詞,真正實現Web 2級別的使用體驗,和Web 3的安全、隱私體驗。