EVM並行化:區塊鏈高性能Layer1的演進與挑戰

robot
摘要生成中

EVM:以太坊的核心組件

EVM是以太坊的核心,負責運行智能合約和處理交易。它是一個計算引擎,提供計算和存儲的抽象,類似於Java虛擬機規範。EVM執行自己的字節碼指令集,通常由Solidity編譯而成。

EVM是一個準圖靈完備的狀態機。"準"是因爲所有執行步驟都會消耗有限的資源Gas,避免了可能的死循環導致整個平台停止的情況。

EVM沒有調度功能,以太坊的執行模塊從區塊中取出交易,EVM負責依次執行。執行過程會修改最新的世界狀態,一筆交易執行完成後進行狀態累加,直到區塊完成後形成最新的世界狀態。下一區塊的執行嚴格依賴上一個區塊執行後的世界狀態,因此以太坊的交易線性執行過程難以進行並行執行優化。

以太坊協議約定交易按照順序執行。雖然順序執行確保了交易和智能合約能夠以確定性順序執行,保障了安全性,但在面臨高負載的情況下,可能會導致網路擁堵和延遲,這也是以太坊存在性能瓶頸的原因。

並行EVM:高性能 Layer1 的換心術

高性能Layer1的並行之道

大多數高性能Layer1都基於以太坊不能並行處理的缺陷設計自己的優化方案,主要集中在虛擬機和並行執行兩個方面。

虛擬機

EVM設計成一臺256位的虛擬機,目的是爲了更易於處理以太坊的哈希算法。然而,實際運行EVM的計算機需要把256位的字節映射到本地架構來執行智能合約,使得整個系統變得非常低效。因此,高性能Layer1更多採用基於WASM、eBPF字節碼或Move字節碼的虛擬機。

WASM是一種體積小、加載快、可移植且基於沙盒安全機制的字節碼格式,被許多區塊鏈項目採用。eBPF提供更豐富的指令集,允許在不改動源碼的情況下對操作系統內核進行動態幹預和修改其行爲。Move是一種新的智能合約編程語言,注重靈活性、安全和可驗證性。

並行EVM:高性能 Layer1 的換心術

並行執行

區塊鏈中的並行執行意味着同時處理不相關的交易。實現並行執行的主要挑戰是確定哪些交易是不相關的,哪些是獨立的。高性能Layer1主要依賴於兩種方法:狀態訪問方法和樂觀並行模型。

狀態訪問方法需要預先知道每個交易可以訪問區塊鏈狀態的哪一部分,從而分析出哪些交易是獨立的。樂觀並行模型在所有交易都是獨立的假設下運行,只是回顧性地驗證這一假設並在必要時進行調整。

並行EVM:高性能 Layer1 的換心術

並行EVM

並行EVM早在2021年就被提起,指的是支持同時處理多個交易的EVM,旨在改進現有EVM性能和效率。2023年底,並行EVM再次成爲熱點話題,多個項目紛紛貼上了並行EVM的標籤。

合理的並行EVM定義包括三類:

  1. 沒有採用並行執行技術的EVM兼容Layer1的並行執行升級
  2. 採用了並行執行技術的EVM兼容Layer1
  3. 採用了並行執行技術的非EVM兼容Layer1的EVM兼容方案

代表項目包括Monand、Sei V2、Artela和Solana Neon等。這些項目採用不同的技術方案實現並行執行,以提高交易處理效率和網路性能。

並行EVM:高性能 Layer1 的換心術

並行EVM:高性能 Layer1 的換心術

並行EVM:高性能 Layer1 的換心術

並行EVM:高性能 Layer1 的換心術

總結

區塊鏈的並行技術是一個反復討論的話題,但目前主要集中在對樂觀執行模型的改造和模仿,缺乏實質性突破。未來可能會有更多新興Layer1項目加入並行EVM的競爭,舊的Layer1也可能實現EVM並行升級或EVM兼容方案。

除了高性能EVM的敘事,區塊鏈領域還需要更多樣化的發展,如WASM、SVM及Move VM等技術的應用和創新。這種多元化的發展將有助於推動整個區塊鏈生態系統的進步和創新。

ETH-0.82%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 5
  • 分享
留言
0/400
空投猎手小张vip
· 17小時前
这gas真是薄饼都买不起了
回復0
AirdropHunter9000vip
· 08-02 02:58
Gas是必需的~终于懂了
回復0
GraphGuruvip
· 08-02 02:55
Gas花的好多啊
回復0
GasFeeNightmarevip
· 08-02 02:55
深夜Gas战士岗位报道 还在蹲着gwei跌到20
回復0
rekt_but_vibingvip
· 08-02 02:54
Gas费又得冲爆咯
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)