📢 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 vs. Solidity
區塊鏈開發者必須掌握編寫智能合約的技能。他們可以使用Solidity或其他高級語言來實現業務邏輯。但EVM無法直接解釋Solidity代碼,需要將其編譯成虛擬機可執行的低級語言(操作碼/字節碼)。有工具可以自動完成這種轉換,減輕了開發者理解編譯過程的負擔。
雖然轉換會帶來一些額外開銷,但有低級編碼經驗的工程師可以直接在Solidity中使用操作碼編寫程序邏輯,以達到最高效率並減少gas消耗。比如某交易平台的協議就大量使用了內聯匯編來最小化用戶的gas開銷。
EVM性能的差異性:標準與實現
EVM(執行層)是編譯後的智能合約操作碼最終計算和處理的地方。EVM定義的字節碼是行業標準。無論是用於以太坊Layer網路還是其他獨立區塊鏈,與EVM標準的兼容性都允許開發者高效地在多個網路上部署智能合約。
盡管符合EVM字節碼標準使虛擬機成爲EVM,但實現方法可以有很大差異。例如,以太坊的某客戶端用Go實現了EVM標準,而以太坊基金會的另一個團隊則維護了一個C++實現。這種多樣性允許不同的工程優化和定制實現。
並行EVM技術
歷史上,區塊鏈社區主要關注共識算法的創新,一些項目更因其共識機制而聞名,而非其執行層。雖然這些項目對執行層有所創新,但它們的性能往往被誤認爲僅來自共識算法。
實際上,高性能區塊鏈需要創新的共識算法和優化的執行層,類似於最弱環節原理。對於僅改進共識算法的EVM區塊鏈,提升性能需要更強大的節點。例如,某智能鏈在2000 TPS的gas限制下處理區塊,需要比以太坊全節點高幾倍的配置。雖然某Layer網路理論上支持高達1000 TPS,但實際性能往往不及預期。
並行處理的需求
大多數區塊鏈系統中,交易是按順序執行的,類似單核CPU。這種方法簡單且復雜度低,但不足以支撐互聯網級用戶基礎。轉向多核CPU並行虛擬機可以同時處理多筆交易,大大提高吞吐量。
並行執行帶來了工程挑戰,如處理並發交易寫入同一智能合約。需要設計新機制解決這些衝突。並行執行不相關的智能合約可以按並行處理線程數成比例提高吞吐量。
並行EVM的創新
並行EVM代表了一系列旨在優化區塊鏈系統執行層的創新。以某項目爲例,其關鍵創新包括:
並行交易執行:採用樂觀並行執行算法,允許多個交易同時處理。這種方法從相同初始狀態開始交易,跟蹤輸入輸出,生成每筆交易的臨時結果。通過檢查下一筆交易的輸入是否與當前處理中交易的輸出相關來決定是否執行下一筆交易。這種方法顯著提升了交易處理性能,減少了系統延遲。
延遲執行:在共識機制中,節點無需主節點或驗證節點執行交易就能達成對交易的正式排序。起初,主節點對交易排序並在節點間達成共識。不立即執行交易,而是將執行推遲到獨立通道,最大限度利用區塊時間,提升整體執行效率。
自定義狀態數據庫:通過直接將Merkle樹存儲在SSD上優化狀態存儲和訪問。這種直接存儲方法最小化讀取放大效應,提高狀態訪問速度,使智能合約執行更快、更高效。通過減少傳統數據庫的低效,確保並行交易執行期間快速檢索狀態變量。
高性能共識機制:對某共識機制的改進版本,支持數百個全球分布節點間的同步,具有線性通信復雜度。使用流水線投票階段,使投票過程的不同階段可以重疊進行,減少延遲,增加共識效率。這一修改顯著提升了網路處理大規模分布式操作的能力。
挑戰
並行EVM的技術挑戰
順序交易執行的瓶頸與CPU和狀態讀/寫過程相關。並行執行引入了潛在的狀態衝突,需要執行前或執行後的衝突檢查。例如,如果虛擬機支持四個並行線程,每個線程處理一個交易,當所有交易都與同一個交易池交互時,就會發生衝突。這種情況需要仔細的衝突檢測和解決機制,以確保高效的並行處理。
除了實現並行EVM的技術差異外,各團隊通常重新設計並增強狀態數據庫的讀/寫性能,並開發兼容的共識算法。
挑戰與考量
並行EVM的兩個主要挑戰是以太坊的長期工程價值捕獲和節點集中化。雖然目前開發階段尚未完全開源,以保護知識產權,但這些細節最終將在測試網和主網啓動時披露,面臨被以太坊或其他區塊鏈吸收的風險。快速的生態系統發展將是保持競爭優勢的關鍵。
節點集中化對所有高性能區塊鏈都是挑戰,需要在"區塊鏈三難困境"——無許可、無需信任的操作和高性能需求之間取得平衡。"每硬件需求的TPS"等指標可以幫助比較區塊鏈在特定硬件條件下的效率,因爲較低的硬件需求可以啓用更多去中心化的節點。
並行EVM的格局
並行EVM格局包括多個項目,有些是Layer 1區塊鏈,有些可能是Layer解決方案。還有一些是基於其他網路的EVM兼容解決方案,以及開源客戶端。
並行EVM的主要條件是EVM兼容網路。一些非EVM網路雖然採用並行執行,但不被視爲並行EVM項目。
目前,現有的並行EVM網路可以分爲三種類型:
通過並行執行技術升級的EVM兼容Layer 1網路:這些網路最初不採用並行執行,通過技術迭代升級以支持並行EVM。
從一開始就採用並行執行技術的EVM兼容Layer 1網路。
採用非EVM並行執行技術的Layer網路:這些包括擴展導向的Layer EVM兼容鏈。這些網路將EVM抽象成可插拔的執行模塊,允許根據需要選擇最佳的"VM執行層",從而實現並行能力。
結論
隨着區塊鏈技術的發展,關注執行層與共識算法同樣重要,以實現高性能。並行EVM等創新提供了有前途的解決方案,以提高吞吐量和效率,使區塊鏈更具可擴展性,並能夠支持廣泛的用戶羣體。這些技術的發展和實施將塑造區塊鏈生態系統的未來,推動該領域的進一步進步和應用。