Monad 如何運作:深入探索其創新架構

2025-02-19
Monad 如何運作:深入探索其創新架構

Monad是一個先進的區塊鏈平台,旨在在不妥協於去中心化的情況下提供高性能。其設計支持無縫重新部署EVM-equivalent bytecode 和像 Cancun 記號分叉這樣的進階功能,讓它完全符合以太坊的操作碼和 gas 映射標準。Monad 的設計專注於效率、可擴展性和全球分佈的驗證者網絡,其區塊時間為 500 毫秒,最終確定性在 1 秒內達成。

閱讀更多: 什麼是Monad空投?

關鍵要點:

  • EVM 相容性和快速終結性:Monad 支持 EVM 字節碼重新部署和以太坊標準操作碼,同時每 500 毫秒交付區塊,並在 1 秒內完成。
  • 創新的共識與執行:其 MonadBFT 共識機制、異步執行和樂觀並行執行模型使其能夠在適中的硬體條件下實現高吞吐量。
  • 高效的數據傳輸和狀態管理:RaptorCast 協議和 MonadDb 優化了網絡帶寬和狀態訪問,確保了快速的數據恢復和減少的存儲開銷。

網絡參數和摘要

Monad運行架構在許多方面都與以太坊相似,例如操作碼到汽油費的映射和RPC相容性,但它也帶來了若干增強功能。該網絡支持EVM位元組碼的重新部署而無需重新編譯,擁有Cancun分支增強功能(TSTORE, TLOAD, MCOPY),並在其測試網上維持高區塊汽油費限制。由於區塊每500毫秒生成一次,並且最終性在區塊N+2得到確認,該系統旨在應對高交易量,隨著最初大約55個全球分佈的驗證者集擴展到更大的池。

節儉和去中心化

在 Monad 的核心目標是通過使用高效演算法以達到高性能,同時保持可訪問性和去中心化。該平台優化以在硬體要求相對適中的節點上運行——例如,一台擁有 32 GB RAM、雙 2 TB SSD、100 Mbps 帶寬以及 16 核 4.5 GHz 處理器的機器大約只需花費 $1500。這種方法確保了高性能計算不僅限於少數特權,而是分佈於多元化的全球驗證節點集。

節點架構

每個 Monad 節點由三個主要組件組成:

  • monad-bft:負責共識過程。
  • monad-execution:管理交易執行和狀態轉換。
  • monad-rpc:處理用戶讀取/寫入操作。

驗證者的數量在100到200之間,積極參與共識,而非投票全節點則監控網絡流量並執行每筆交易以維持完整狀態複製。

共識機制:MonadBFT

MonadBFT 是平台共識過程的支柱。具有線性通信複雜度,即使驗證者數量增長,也能高效擴展。在理想的“快樂路徑”場景中,領導者向所有節點廣播區塊提案,然後這些節點向下一個領導者發送認證。這些認證使用 BLS 簽名聚合成一個 Quorum Certificate (QC),從而實現精簡的“扇出、扇入”方法,保證區塊的快速可靠的最終定案。

RaptorCast:高效的區塊傳播

為了管理因高交易吞吐量而產生的大量數據,Monad 採用了 RaptorCast 協議。這一創新的系統使用糾刪編碼將大型區塊分割成較小的塊。每一塊通過一個兩級廣播樹傳輸——首先由一個驗證者接收,然後再傳播給其他驗證者——確保即使在領導者上傳容量有限的情況下,所有驗證者也能有效地重建原始區塊。

交易生命周期

Monad 的交易遵循明確定義的流程:

  • 提交:用戶將交易發送到 RPC 節點。
  • 繁殖:RPC 節點將待處理的交易轉發給接下來三位預定的領導者。
  • 包容性:領導者將交易添加到他們的記憶池中,並根據像每氣單位費用這樣的標準將其包含在區塊提案中。
  • 最終確定:一旦區塊被網路提議並驗證,便達成共識,並通過 MonadBFT 過程來最終確定區塊。

此目標轉發策略在確保及時交易處理的同時,將網絡擁塞降至最低。

領導者選舉和紀元

在每個時代中(大約持續一天),會通過基於驗證者權益權重的確定性偽隨機函數選出領導者。在測試網中,領導角色最初是需要許可的,但權益質押機制很快會實現完全去中心化的領導者選舉過程。驗證者權益權重會提前一個時代固定下來,以確保在領導排程中的公平性和可預測性。

非同步執行

Monad 透過使用非同步執行將共識與執行分開。在此模型中,系統在執行交易之前達成共識,允許這些流程進行“流水線”處理。驗證者檢查交易的有效性(簽名、隨機數、數據成本),但將完整執行推遲到區塊最終確定之後。這種解耦可釋放大量的執行時間,提高整體吞吐量。

延遲默克爾根用于狀態驗證

由於非同步執行,Monad 中的區塊提案不會立即包含狀態 trie 的 Merkle 根。相反,會包含來自幾個區塊之前的延遲 Merkle 根(目前設定為延遲三個區塊)。這種機制提供了一個安全網,確保如果因計算錯誤而出現不一致,節點可以在預定的延遲後,通過與其本地狀態比較來檢測它們。

推測執行

為了進一步優化性能,節點參與推測性執行。儘管只有兩個區塊之前的區塊被正式執行,節點會預先執行來自較新區塊的待處理交易。這種推測性方法允許節點保持幾乎是最新的狀態,進而有助於更快速的交易模擬和更流暢的用戶體驗。

樂觀並行執行

在 Monad 的交易處理中,樂觀並行執行是一項關鍵創新。交易是並發執行的,以生成記錄存儲位置讀寫的“暫定結果”。這些結果隨後按順序提交,確保一致性,如同交易是依次處理的。這種方法使得大多數交易即使發生衝突也最多執行兩次,從而在不影響準確性的情況下最大化效率。

MonadDb:優化的狀態管理

MonadDb 是 Monad 的自訂資料庫,專為以原生 Merkle 樹儲存狀態而設計。通過消除傳統資料庫中的額外間接層,MonadDb 最大限度地減少了 I/O 操作並加速了 Merkle root 計算。其對非同步 I/O 和平行狀態查詢的支持,與樂觀平行執行完美配合,大幅減少了通常與狀態訪問相關的瓶頸。

引導節點:狀態同步與區塊同步

鑑於高吞吐量和長期交易歷史,新節點通常通過與其他節點同步來初始化其狀態,而不是從創世區塊開始重放每個區塊。Monad 採用狀態同步(statesync),即節點從其對等節點請求最新的狀態快照,並使用區塊同步(blocksync)來填補任何空白,通過檢索遺漏的區塊。這個過程確保新節點能夠快速加入網絡,獲得最新的狀態視圖。

jailstool power piggy

常見問題解答

Q1:Monad 的共識機制有什麼獨特之處?

A1: MonadBFT 的特點在於其線性的通信複雜度和流水線化的“扇出、扇入”方法,即使有大量的驗證者也能夠實現快速、可擴展的共識。

Q2:Monad 如何確保高效的區塊傳播?

A2:通過RaptorCast協議,Monad使用糾刪編碼將區塊分割成更小的塊,從而減輕領導者的上傳負擔並確保整個網絡的可靠傳輸。

Q3: MonadDb 在系統中扮演什麼角色?

A3: MonadDb 通過維護原生的 Merkle trie 來優化狀態存儲,這加速了狀態查找,減少了 I/O 操作,並補充了平台的樂觀並行執行模型。

免責聲明:本文內容不構成財務或投資建議。

立即註冊以領取 1012 USDT 的新手禮包

加入 Bitrue 獲取獨家獎勵

立即註冊
register

推薦

加密貨幣高峰會後比特幣價格繼續下跌,BTC會跌至6萬美元嗎?
加密貨幣高峰會後比特幣價格繼續下跌,BTC會跌至6萬美元嗎?

比特幣價格下跌:比特幣會跌至 6 萬美元嗎?隨著關鍵支撐位被突破,市場不確定性增加。探索風險、技術分析和潛在的復甦情境。

2025-03-11閱讀