📢 Gate廣場 #MBG任务挑战# 發帖贏大獎活動火熱開啓!
想要瓜分1,000枚MBG?現在就來參與,展示你的洞察與實操,成爲MBG推廣達人!
💰️ 本期將評選出20位優質發帖用戶,每人可輕鬆獲得50枚MBG!
如何參與:
1️⃣ 調研MBG項目
對MBG的基本面、社區治理、發展目標、代幣經濟模型等方面進行研究,分享你對項目的深度研究。
2️⃣ 參與並分享真實體驗
參與MBG相關活動(包括CandyDrop、Launchpool或現貨交易),並曬出你的參與截圖、收益圖或實用教程。可以是收益展示、簡明易懂的新手攻略、小竅門,也可以是現貨行情點位分析,內容詳實優先。
3️⃣ 鼓勵帶新互動
如果你的帖子吸引到他人參與活動,或者有好友評論“已參與/已交易”,將大幅提升你的獲獎概率!
MBG熱門活動(帖文需附下列活動連結):
Gate第287期Launchpool:MBG — 質押ETH、MBG即可免費瓜分112,500 MBG,每小時領取獎勵!參與攻略見公告:https://www.gate.com/announcements/article/46230
Gate CandyDrop第55期:CandyDrop x MBG — 通過首次交易、交易MBG、邀請好友註冊交易即可分187,500 MBG!參與攻略見公告:https://www.gate.com/announcements
EVM並行優化 提升以太坊交易處理性能最高60倍
EVM並行優化:提升交易處理性能
衆所周知,EVM是以太坊的核心執行引擎,負責智能合約的運行。爲了確保不同節點上合約執行結果的一致性,EVM採用了虛擬機技術,實現了跨平台的兼容性。
智能合約在部署到鏈上時,會先被編譯爲EVM字節碼。EVM執行合約時,會按順序讀取這些字節碼,每條指令都有相應的Gas成本。EVM會追蹤指令執行過程中的Gas消耗,消耗量取決於操作的復雜度。
傳統EVM採用串行方式處理交易,所有交易在單一隊列中排隊執行。這種設計簡單易維護,但隨着用戶增多,對TPS和吞吐量的要求提高,串行執行的性能瓶頸日益凸顯,尤其在Layer中更爲明顯。
除EVM外,go-ethereum中與交易執行相關的另一核心組件是stateDB,用於管理帳戶狀態和數據存儲。EVM每次執行交易都會變更stateDB中的數據,最終反映在全局狀態樹中。
在串行模式下,交易必須按順序排隊執行。如果出現耗時較長的復雜合約交易,其他交易只能等待,無法充分利用硬件資源,效率受到較大限制。
爲解決這一問題,業界提出了EVM的多線程並行優化方案。該方案通過開啓多個線程同時處理多筆交易,可以數倍提升效率。但並行執行面臨狀態衝突的挑戰,需要採取相應措施。
一些項目對EVM並行優化的思路是:爲每個線程分配一個臨時狀態數據庫(pending-stateDB)。線程執行交易時,將狀態變更暫存在pending-stateDB中,而不直接修改全局stateDB。所有交易執行完畢後,再將pending-stateDB中的變更同步到全局stateDB。
這種方案還對讀寫操作進行了優化:讀取時先檢查pending-stateDB,如果沒有再讀取全局stateDB;寫操作則記錄在pending-stateDB中,待執行完成後再合並到全局stateDB。
爲處理狀態衝突,方案引入了衝突檢測機制。監測不同交易的讀寫集,發現衝突時將相關交易標記爲需重新執行。
多線程並行優化顯著提升了EVM性能,特別是處理復雜智能合約時。研究顯示,在低衝突工作負載下,TPS可提升3-5倍;高衝突負載下,理論上可達60倍。
這種並行優化方案通過臨時狀態庫和衝突檢測,在保證狀態一致性的同時實現了交易的大規模並行化,爲以太坊Rollup的發展奠定了重要基礎。未來還可從存儲效率優化、高衝突場景處理、GPU加速等方面進一步提升性能。