WEEX 唯客博客, 以太坊虛擬機EVM EVM vs. Solidity 編寫智能合約是區塊鏈開發者的基本技能。工程師可以使用 Solidity 或其他高級語言來實現業務邏輯。然而,EVM 不能直接解釋 Solidity;它需要將代碼編譯成虛擬機可以執行的低級語言(操作碼/位元組碼)。存在工具來自動進行這種轉換,減輕開發者理解編譯過程的需求。 轉換會引入額外開銷,但有低級編碼經驗的工程師可以直接在 Solidity 中使用操作碼編寫程序邏輯,達到最高效率並減少 gas 消耗。例如,OpenSea 的 Seaport 協議廣泛使用內聯彙編來最小化用戶的 gas 開銷。 EVM性能的差異性:標準與實現 EVM,也稱為「執行層」,是編譯后的智能合約操作碼最終計算和處理的地方。EVM 定義的位元組碼是行業標準。無論是用於以太坊 Layer 2 網路還是其他獨立區塊鏈,與 EVM 標準的兼容性允許開發者在多個網路上高效部署智能合約。 儘管符合 EVM 位元組碼標準使虛擬機稱為 EVM,但實現方法可以差異很大。例如,以太坊的 Geth 客戶端用 Go 實現了 EVM 標準,而以太坊基金會的 Ipsilon 團隊則維護了一個 C++ 實現。這種多樣性允許不同的工程優化和定製實現。 并行EVM技術 歷史上,區塊鏈社區主要集中於共識演算法的創新,像Solana、Avalanche和EOS這樣的項目更因其共識機制而聞名,而不是其執行層。儘管這些項目對執行層的創新有貢獻,但它們的性能往往被誤認為僅源自其共識演算法。 實際上,高性能區塊鏈需要創新的共識演算法和優化的執行層,類似於最弱環節原則。對於僅改進共識演算法的EVM區塊鏈來說,提升性能需要更強大的節點。例如,幣安智能鏈(BSC)在2000 TPS的gas限制下處理區塊,需要配置比以太坊全節點高几倍的機器。雖然Polygon理論上支持高達1000 TPS,但其實際性能往往不及預期。 并行處理的需求 在大多數區塊鏈系統中,交易是按順序執行的,類似於單核CPU,下一次計算在當前計算完成後才開始。雖然這種方法簡單且系統複雜性低,但不足以擴展到互聯網級用戶基礎。轉向多核CPU并行虛擬機可以允許同時處理多筆交易,大大增加吞吐量。 并行執行帶來了工程挑戰,比如處理併發交易寫入同一個智能合約。需要設計新的機制來解決這些衝突。并行執行不相關的智能合約可以按并行處理線程數成比例提高吞吐量。 并行EVM的創新 并行EVM代表了一系列旨在優化區塊鏈系統執行層的創新。以Monad為例,其關鍵創新包括: 并行交易執行:Monad採用樂觀并行執行演算法,允許多個交易同時處理。這種方法從相同的初始狀態開始交易,跟蹤它們的輸入和輸出,生成每筆交易的臨時結果。Monad通過檢查下一筆交易的輸入是否與當前處理中交易的輸出相關來決定是否執行下一筆交易。如果有關係,則下一筆交易等待當前交易完成。如果沒有關係,系統按原順序處理下一筆交易。這種方法顯著提升了交易處理性能,減少了系統延遲。 延遲執行:在Monad的共識機制中,節點在不需要主節點或驗證節點執行這些交易的情況下達成對交易的正式排序。起初,主節點對交易進行排序並在節點之間就其順序達成共識。Monad不立即執行交易,而是將執行推遲到一個獨立的通道中,最大限度地利用區塊時間,提升整體執行效率。 自定義狀態資料庫(Monad DB):Monad DB通過直接將Merkle樹存儲在SSD上優化狀態存儲和訪問。這種直接存儲方法最小化了讀取放大效應,提高了狀態訪問速度,使智能合約的執行更快、更高效。通過減少傳統資料庫的低效,Monad DB確保在并行交易執行期間快速檢索狀態變數。 高性能共識機制(Monad BFT):Monad BFT是HotStuff共識機制的改進版本,支持數百個全球分佈的節點之間的同步,具有線性通信複雜度。它使用流水線投票階段,使投票過程的不同階段可以重疊進行,減少延遲,增加共識效率。這一修改顯著提升了網路處理大規模分散式操作的能力。 挑戰 并行EVM的技術挑戰 順序交易執行的瓶頸與CPU和狀態讀/寫過程相關。雖然這種方法簡單且可靠,但并行執行引入了潛在的狀態衝突,需要進行執行前或執行后的衝突檢查。例如,如果一個虛擬機支持四個并行線程,每個線程處理一個交易,當所有交易都與同一個Uniswap池交互時,就會發生衝突。這種情況需要仔細的衝突檢測和解決機制,以確保高效的并行處理。 除了實現并行EVM的技術差異外,各團隊通常重新設計並增強狀態資料庫的讀/寫性能,並開發兼容的共識演算法,如Monad的MonadDb和MonadBFT。 挑戰與考量 并行EVM的兩個主要挑戰是以太坊的長期工程價值捕獲和節點集中化。雖然目前的開發階段尚未完全開源,以保護知識產權,但這些細節最終將在測試網和主網啟動時披露,面臨被以太坊或其他區塊鏈吸收的風險。快速的生態系統發展將是保持競爭優勢的關鍵。 節點集中化對所有高性能區塊鏈來說都是一個挑戰,需要在「區塊鏈三難困境」——無許可、無需信任的操作和高性能需求之間取得平衡。像「每硬體需求的TPS」這樣的指標可以幫助比較區塊鏈在特定硬體條件下的效率,因為較低的硬體需求可以啟用更多去中心化的節點。 并行EVM的格局 除了Monad外,并行EVM格局還包括Sei、MegaETH、Polygon、Neon EVM、BSC和Paradigm的Reth客戶端。Monad、Sei、Polygon和BSC是Layer 1區塊鏈,而MegaETH可能是Layer 2解決方案。Neon EVM基於Solana網路,Reth是一個開源客戶端,MegaETH的開發部分基於Reth。 并行EVM的主要條件是EVM兼容網路。儘管像Solana、Aptos、Fuel和Sui這樣的網路採用并行執行,但它們不被視為并行EVM項目,因為它們是非EVM網路。 目前,現有的并行EVM網路可以分為三種類型: 通過并行執行技術升級的EVM兼容Layer 1網路**:這些網路最初不採用并行執行,通過技術迭代升級以支持并行EVM。例如,Polygon在2022年完成了并行EVM升級,Fantom即將推出的Fantom Sonic升級也將引入并行執行。 從一開始就採用并行執行技術的EVM兼容Layer 1網路**:例如Monad、Sei V2和Artela。 採用非EVM并行執行技術的Layer 2網路**:這些包括擴展導向的Layer 2 EVM兼容鏈,如Solana Neon、Eclipse和Lumio。這些網路將EVM抽象成一個可插拔的執行模塊,允許根據需要選擇最佳的「VM執行層」,從而實現并行能力。例如,Lumio的結算層在以太坊上,但其執行層可以使用Solana VM、Move VM、EVM等。 項目 Monad: 領先的并行EVM Monad旨在通過優化EVM并行執行和流水線架構解決傳統EVM的可擴展性問題,目標是達到10,000 TPS。4月9日,Monad完成了由Paradigm領投的2.25億美元融資,估值達到30億美元。此前,在去年2月的種子輪融資中籌集了1900萬美元,總融資額達到2.44億美元,成為迄今為止融資最多、估值最高的并行EVM項目。Monad的創始團隊成員包括來自市場做市巨頭Jump Trading的成員。創始人Keone Hon曾在Jump Trading擔任研究主管八年,共同創始人James Hunsaker是那裡的高級軟體工程師,也是Pyth Network的核心維護者。Monad的內部測試網在3月啟動,預計幾個月內向公眾開放。 Sei:推出并行EVM網路 Sei V2 Sei 最初是一個專註於交易的 Layer 1 網路,提供先進的交易應用基礎設施,如 DeFi、DEX 和遊戲。去年11月,Sei宣布了全面升級到 Sei V2,成為第一個高性能并行EVM,將其 TPS 提高到 12,500。并行EVM測試網於今年2月上線,支持EVM應用的一鍵遷移。主網預計將在今年上半年上線。今年3月,Sei推出了 Parallel Stack 開源框架,支持 Layer 2 和 Rollup 網路採用并行處理技術。 Artela:通過 EVM++ 雙虛擬機增強執行層 Artela 旨在通過擴展 EVM 支持并行執行來解鎖 Layer 1 網路的可擴展性。通過構建 EVM++ (EVM + WASM),Artela 旨在提升 EVM 區塊鏈性能和網路執行效率。核心團隊成員來自螞蟻鏈。公測網已上線,Artela 生態系統激勵計劃「Renaissance Plan」已於四月推出。 Canto:引入并行 EVM 技術 Canto 是一個基於 Cosmos SDK 構建的 EVM 兼容的 Layer 1 網路,專為 DeFi 應用而設計。Canto 在三月份宣布了 Cyclone Stack 開發計劃,該計劃旨在引入并行執行 EVM 技術以提升網路性能。 Neon:Solana EVM 兼容性解決方案 Neon EVM 是建立在 Solana 網路上的并行 EVM,也是首個 Solana EVM 兼容性解決方案。它支持 Solidity 和 Vyper EVM 開發者一鍵部署他們的 DApp 到 Solana,享受 Solana 的高吞吐量和低 gas 費。Neon EVM 將類似於 EVM 網路的交易封裝成 Solana 交易進行執行,從而提高交易速度,TPS 超過 2,000。 Eclipse:將 SVM 引入以太坊 Eclipse 是一個由 Solana 虛擬機 (SVM) 支持的 Rollup Layer 2 模塊化通用解決方案。Eclipse 在以太坊上結算交易數據,使用 ETH 作為 gas,但其執行層在 SVM 環境中運行。與將 EVM 引入 Solana 的 Neon 不同,Eclipse 將 SVM 引入以太坊,在 Solana 的 SVM 上執行交易,同時在以太坊上結算。Eclipse 最近在 Hack VC 等領投的 A 輪融資中籌集了 5000 萬美元。主網預計很快會向開發者開放。 Lumio:模塊化 VM Layer 2 Lumio 基於 OP Stack 構建,是一個模塊化 VM Layer 2 網路,也是 Optimism 超鏈的一部分,被稱為 SuperLumio。它旨在將高性能虛擬機(如 Aptos VM、Move VM 和 Solana VM)引入現有的主要以太坊和比特幣 Layer 2 網路。與 Eclipse 類似,Lumio 支持使用以太坊或比特幣作為結算層,執行層能夠使用 Aptos VM 和 Solana VM 等虛擬機進行并行執行。 結論 隨著區塊鏈技術的發展,關注執行層與共識演算法同樣重要,以實現高性能。諸如并行 EVM 等創新提供了有前途的解決方案,以提高吞吐量和效率,使區塊鏈更具可擴展性,並能夠支持廣泛的用戶群體。這些技術的發展和實施將塑造區塊鏈生態系統的未來,推動該領域的進一步進步和應用。 參考文獻: https://docs.eclipse.xyz/eclipse-architecture/what-is-eclipse-mainnet https://docs.neonevm.org/docs/architecture/neon_evm_arch https://blog.sei.io/sei-v2-the-first-parallelized-evm/ https://docs.lumio.io/cross-vm-calls https://canto.mirror.xyz/5q8V3Z9CHjM7fjgUTE0hMYcD-UuVemPybo0QWaNzzzE https://docs.artela.network/main/Artela-Blockchain/EVM++ https://docs.monad.xyz/technical-discussion/execution/parallel-execution WEEX唯客交易所官網:weex.com
深入探討并行EVM及其生態
Previous: 鏈上知識產權新敘事:如何玩轉A16Z領投的Story Protocol
Next: 全同態加密(FHE)的進展與應用