EVM並行優化:區塊鏈性能提升60倍的關鍵技術

robot
摘要生成中

EVM的並行化優化:提升區塊鏈性能的關鍵

EVM作爲以太坊的核心執行引擎,一直採用串行方式處理交易。這種方法雖然簡單易維護,但隨着用戶羣體擴大和技術進步,其性能瓶頸日益凸顯。特別是在Rollup技術廣泛應用的今天,EVM的串行執行已成爲制約二層網路發展的重要因素。

Sequencer作爲Layer2的核心組件,以單一服務器形式承擔所有計算任務。當其他模塊效率足夠高時,Sequencer本身的處理能力就成爲了最終的瓶頸。某些團隊通過優化DA層和數據讀寫模塊,使Sequencer每秒可執行約2000筆ERC-20轉帳。這個數字看似不低,但面對更復雜的交易時,TPS必然會大幅下降。因此,交易處理的並行化成爲未來發展的必然趨勢。

以Reddio爲例,闡述並行EVM的優化之路

在以太坊的代碼結構中,除EVM外,stateDB也是與交易執行密切相關的核心組件。它負責管理以太坊的帳戶狀態和數據存儲。EVM每次執行交易都會改變stateDB中的某些數據,這些變更最終反映在全局狀態樹中。

stateDB主要維護所有以太坊帳戶的狀態,包括普通帳戶和合約帳戶,存儲帳戶餘額、智能合約代碼等信息。交易執行過程中,stateDB對相應帳戶數據進行讀寫,執行結束後將新狀態提交到底層數據庫中永久保存。

在傳統的串行執行模式下,一個區塊內的交易按順序逐筆處理。每筆交易都有獨立的EVM實例執行具體操作,但所有交易共用同一個stateDB。EVM在執行過程中需要頻繁與stateDB交互,讀取和寫入相關數據。

以Reddio爲例,闡述並行EVM的優化之路

這種串行執行模式的缺陷很明顯:交易必須排隊等待執行,如果遇到耗時較長的復雜合約交易,後續交易只能被迫等待,無法充分利用硬件資源,嚴重限制了處理效率。

爲了突破這一瓶頸,業界提出了EVM的多線程並行優化方案。其核心思想是開啓多個線程同時處理多筆交易,大幅提升效率。然而,並行執行面臨的主要挑戰是如何處理狀態衝突問題。

以Reddio爲例,闡述並行EVM的優化之路

某項目對EVM的並行優化思路值得關注。他們爲每個線程分配一筆交易和一個臨時狀態數據庫(pending-stateDB)。具體步驟如下:

  1. 多線程並行執行交易,各線程互不幹擾。

  2. 每個線程有獨立的pending-stateDB,交易執行時不直接修改全局stateDB,而是將狀態變化暫存在pending-stateDB中。

  3. 區塊內所有交易執行完畢後,EVM將各pending-stateDB中的狀態變更依次同步到全局stateDB。

以Reddio爲例,闡述並行EVM的優化之路

該項目還對讀寫操作進行了優化:

  • 讀操作時,EVM先檢查Pending-state的ReadSet。如有所需數據,直接從pending-stateDB讀取;否則從上一區塊的全局stateDB讀取歷史狀態。

  • 寫操作不直接寫入全局stateDB,而是先記錄到Pending-state的WriteSet。交易執行完成後,通過衝突檢測再嘗試合並到全局stateDB。

以Reddio爲例,闡述並行EVM的優化之路

爲解決狀態衝突問題,該項目引入了衝突檢測機制:

  • 執行過程中監測不同交易的ReadSet和WriteSet,發現多個交易讀寫相同狀態項時視爲衝突。

  • 標記衝突交易爲需要重新執行。

以Reddio爲例,闡述並行EVM的優化之路

所有交易執行完畢後,多個pending-stateDB的變更記錄合並到全局stateDB。合並成功後,最終狀態提交到全局狀態樹,生成新的狀態根。

以Reddio爲例,闡述並行EVM的優化之路

多線程並行優化顯著提升了性能,尤其是在處理復雜智能合約交易時。研究表明,在低衝突工作負載下,基準測試的TPS比傳統串行執行提升了3-5倍。在高衝突工作負載中,理論上採用所有優化手段甚至可達到60倍提升。

以Reddio爲例,闡述並行EVM的優化之路

這種EVM多線程並行優化方案,通過爲每個交易分配臨時狀態庫並在不同線程中並行執行,大幅提高了EVM的交易處理能力。通過優化讀寫操作和引入衝突檢測機制,在保證狀態一致性的同時實現了交易的大規模並行化,有效解決了傳統串行執行模式的性能瓶頸。這爲以太坊生態系統未來的擴展奠定了重要基礎。

未來的研究方向可能包括進一步優化存儲效率、改進高衝突情況下的處理方案,以及探索利用GPU進行優化等內容。這些進展將爲區塊鏈技術的持續發展提供新的動力。

以Reddio爲例,闡述並行EVM的優化之路

ETH-0.87%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 7
  • 轉發
  • 分享
留言
0/400
MEV受害者协会vip
· 14小時前
并发赶紧搞 卡死老子了
回復0
瓜田李下vip
· 14小時前
还在吹evm 吃相难看
回復0
MetaDreamervip
· 14小時前
性能提升60倍?gm又得梭一单干起来
回復0
测试网学者vip
· 14小時前
这卡的,赶紧优化吧
回復0
faded_wojak.ethvip
· 14小時前
卡啦 并行化起飞啊
回復0
智能合约捉虫人vip
· 14小時前
卡住了就得并行 内卷起来!
回復0
DeFi攻略vip
· 14小時前
这瓶颈不就等着被薅吗 抢跑机器人狂喜
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)