📢 Gate廣場 #NERO发帖挑战# 秀觀點贏大獎活動火熱開啓!
Gate NERO生態周來襲!發帖秀出NERO項目洞察和活動實用攻略,瓜分30,000NERO!
💰️ 15位優質發帖用戶 * 2,000枚NERO每人
如何參與:
1️⃣ 調研NERO項目
對NERO的基本面、社區治理、發展目標、代幣經濟模型等方面進行研究,分享你對項目的深度研究。
2️⃣ 參與並分享真實體驗
參與NERO生態周相關活動,並曬出你的參與截圖、收益圖或實用教程。可以是收益展示、簡明易懂的新手攻略、小竅門,也可以是行情點位分析,內容詳實優先。
3️⃣ 鼓勵帶新互動
如果你的帖子吸引到他人參與活動,或者有好友評論“已參與/已交易”,將大幅提升你的獲獎概率!
NERO熱門活動(帖文需附以下活動連結):
NERO Chain (NERO) 生態周:Gate 已上線 NERO 現貨交易,爲回饋平台用戶,HODLer Airdrop、Launchpool、CandyDrop、餘幣寶已上線 NERO,邀您體驗。參與攻略見公告:https://www.gate.com/announcements/article/46284
高質量帖子Tips:
教程越詳細、圖片越直觀、互動量越高,獲獎幾率越大!
市場見解獨到、真實參與經歷、有帶新互動者,評選將優先考慮。
帖子需原創,字數不少於250字,且需獲得至少3條有效互動
EVM並行化突破:多線程執行提升交易處理能力
EVM的並行化之路:從串行到多線程執行
衆所周知,EVM是以太坊的核心執行引擎,負責智能合約的運行。爲了確保不同節點上的智能合約能夠得到相同的執行結果,EVM提供了一個統一的虛擬環境,類似於Java虛擬機JVM。
智能合約在部署到區塊鏈上時,會先被編譯成EVM字節碼。EVM在執行合約時,會按順序讀取這些字節碼,每條指令都有相應的Gas成本。EVM會追蹤每條指令執行時的Gas消耗,消耗量取決於操作的復雜度。
傳統的EVM採用串行方式處理交易,所有交易在單一隊列中排隊按順序執行。這種設計簡單易維護,但隨着用戶羣體增長和對TPS要求提高,串行執行的性能瓶頸日益凸顯,尤其在Layer解決方案中更爲明顯。
除EVM外,以太坊交易執行的另一個核心組件是stateDB,用於管理帳戶狀態和數據存儲。EVM每次執行交易都會更新stateDB中的數據,這些變更最終反映在全局狀態樹中。
在串行執行模式下,EVM和stateDB協作處理交易的過程如下:
這種串行模式的主要問題是,復雜的智能合約交易會阻塞其他交易,無法充分利用硬件資源。
爲解決這一問題,一些項目開始探索EVM的並行優化方案。以某Layer項目爲例,其核心思路是爲每個線程分配一個臨時狀態數據庫(pending-stateDB):
該方案對讀寫操作做了特殊處理:
爲避免狀態衝突,該方案引入了衝突檢測機制:
最後,將多個pending-stateDB的變更合並到全局stateDB,生成新的狀態根。
這種並行優化方案在低衝突工作負載下,可將TPS提升3-5倍。在高衝突情況下,理論上可達到60倍提升。
總的來說,EVM的並行化是提升以太坊及其Layer性能的重要方向。通過多線程並行執行和臨時狀態庫等技術,可以在保證一致性的前提下,大幅提高交易處理能力。未來還可以通過進一步優化存儲效率、改進衝突處理策略等手段,進一步提升EVM的性能。