
作者:Haotian,獨立研究員 來源:X,@tmel0211
最近,Paradigm下重注領投了Monad一輪2.25億美元的巨額融資,引發市場對「並行EVM」的強烈關注。那麼,「並行EVM」到底解決了什麼問題?發展並行EVM的瓶頸和關鍵是什麼? 在我看來,「並行EVM」是EVM鏈迎擊高性能layer1鏈的最後一博,事關以太坊EVM生態的存續之戰。Why?接下來,來談談我的理解:
由於以太坊EVM虛擬機只能「串行」交易,這使得EVM- Compatible layer1鏈以及EVM兼容的layer2鏈,也都受到了相應的性能制約,因為大家本質上都基於同一套框架處理狀態和交易Finality。
然而,像Solana、Sui、Aptos等主打高性能的layer1先天就具有可並行的優勢。在此背景下,EVM基因的鏈要想正面Battle高性能layer1公鏈的衝擊,就勢必得補足「並行」能力先天不足的問題。如何做呢?涉及技術原理和細節,我將以並行EVM新銳鏈 @Artela_Network 為例展開說明:
1)以Monad、Artela、SEI等為代表的強化型EVM layer1鏈,它們會在高度兼容EVM的基礎上大幅提升TPS並能賦予交易在擬EVM環境下的並行能力,這類獨立並行EVM layer1鏈,有獨立的共識機制和技術特性,但依然會以兼容並拓展EVM生態為目標,相當於,以「換血統」的方式重構EVM鏈,又服務於EVM生態;
2) 以Eclipse、MegaETH等為代表的擴容型layer2 EVM兼容鏈,它們利用layer2鏈獨立的共識和交易「預處理」能力,可以在大批量交易被Batch到主網前,對交易狀態進行篩選和處理,並可同時選擇其他任意鏈的執行層來最終確定交易狀態。等同於把EVM抽象成一個可插拔的執行模塊,可根據需要選擇最佳「執行層」,進而實現了並行能力;但,這類方案可服務於EVM,但又超出EVM框架範疇;
3)以Polygon、BSC等為代表的等效型 Alt-layer1鏈,它們一定程度上實現了EVM的並行處理能力,但只是進行了算法層的優化,並沒有進行深層次的共識層和存儲層的優化,因此這類並行能力更多可視為一個特定的Feature,而並沒有徹底解決EVM的並行問題。
4)以Aptos、Sui、Fuel等為代表的差異型Non-EVM並行鏈,它們某種程度上並非實現的並非EVM鏈,而是在其先天具有高並發執行能力接觸上,然後通過某種中間件或編碼解析方式,實現了和EVM環境的兼容。我們看身為以太坊layer2的Starknet就是如此,由於Starknet具備Cario語言和帳戶抽象使其也具備並行能力,但其兼容EVM卻需要一個特殊的管道。這些Non-EVM鏈的並行能力接軌EVM鏈基本都存在這個問題。
以上四個方案,各有側重點,比如:有並行能力的layer2側重模塊化組合「執行層」鏈的靈活性;而EVM- Compatible鏈則突出了特定功能的定製特性;至於其他非EVM鏈的EVM兼容特性更多所圖抽以太坊的流動性;真正目標徹底鞏固EVM生態,並從底層改變並行能力的只剩一個強化型EVM layer1賽道了。
那麼,做強化型並行EVM layer1公鏈的關鍵是什麼?如何才能重構EVM鏈,又能服務於EVM生態?有兩個關鍵點:
1、訪問state I/O磁碟讀取和輸出信息的能力,由於數據的讀取和寫入要消耗時間,只是簡單進行交易排序和調度,並不能根本上提高並行處理能力,還需要引入緩存、數據切片甚至分布式存儲技術等等,從根本狀態存儲和讀取流程上平衡讀取速度和狀態衝突的可能性;
2)擁有高效的網絡通信,數據同步,算法優化、虛擬機強化、以及將計算和IO任務分離等共識機制層的各類組件優化等等,需要牽一髮而動全身從底層組件架構、協作流程等方方面面綜合優化和提升,最終促成響應速度快、計算消耗可控、準確率高的並行交易的能力;
具體到並行EVM layer1鏈項目本身,要做哪些技術創新和框架優化來實現「並行EVM」呢?
為了從底層架構層徹底實現資源協調和優化的「並行EVM」能力,Artela引入了彈性計算(Elastic Computing)和彈性區塊空間(Elastic Block Space),如何理解呢?彈性計算,網絡可根據需求和負載動態地分配和調整計算資源;彈性區塊空間,可根據網絡中交易數量和數據大小進行動態調整區塊大小;整個彈性設計工作原理,恰如商場自動感應人流量進行工作的扶梯一樣,很Make Sense;
前文說了,State I/O磁碟讀取性能對並行EVM很關鍵,Polygon、BSC等EVM-Compatible鏈通過算法實現的「並行」能力,也能實現2-4倍的效率提升,但其只是算法層的優化,其共識層、存儲層並沒有進行深層優化,真正的深層優化會是怎樣呢?
針對此,Artela借鑑了資料庫技術方案,在狀態讀取和寫入方面都做了提升,其中寫入狀態方面才去了寫入前日誌(WAL)技術,當狀態改變要寫入時先把改變記錄寫入日誌並提交到內存,就可以認為完成了「寫入」操作,這樣做其實實現了操作異步化,避免了在狀態改變時寫入時立即進行磁碟寫入操作,故而降低了對磁碟的I/O操作。狀態讀取方面,本質上也是異步化操作,通過預加載策略來提升讀取效率,根據合約歷史執行記錄來預測下一次特定的合約調用會用到哪些狀態,並預先加載到內存中,進而提升了磁碟I/O請求效率。
總之,這是一種通過內存空間換執行時間的一種算法,以此從根本上提升EVM虛擬機的並行處理能力,算是從根本上優化了狀態衝突問題。
除此之外,Artela通過引入Aspect模塊化編程能力,以更好管理複雜性並提高開發效率:通過引入WASM編碼解析以增強編程的靈活性;同時,它還具有底層API訪問權限,實現了執行層的安全隔離。這使得開發者可以在Artela的環境下高效地開發,調試和部署智能合約,以此激活開發者群體的定製擴展能力。特別是,開發者也會被激勵在智能合約代碼層就往可並行的方向進行代碼優化,畢竟要減少狀態衝突概率,每一個智能合約的調用邏輯和算法都尤為關鍵。
大家不難看出,「並行EVM」這一概念本質上就是在優化交易狀態的執行過程, @monad_xyz 號稱可達到每秒10,000筆交易,其技術內核也無非在專用資料庫、開發者友好度、延遲執行共識、超標量流水線技術等等方面來達成大規模交易的並行處理,這和Artela的彈性計算和I/O異步性操作本質邏輯並無太大差異。
但我其實更想表達的是,這類高性能並行EVM鏈其實是融入web2產品和技術力之後的結果,確實採用了web2成熟應用市場上,時不時流量高負載下的「技術處理」精髓。
如果放眼一個Mass Adoption的遙遠未來,「並行EVM」的確是EVM生態下一步面向web2更廣泛市場的基礎infra,能受資本市場如此Bullish也在情理之中。