الدرس رقم 3

Monad的技術架構

本模組提供了對Monad架構的深入技術分析,涵蓋協議如何實現高吞吐量和低延遲。主題包括並行執行引擎、異步執行模型、MonadBFT共識和自定MonadDB存儲層,所有這些都旨在支持復雜、可擴展的鏈上應用。

樂觀並行執行

Monad區塊鏈最具定義性革新之一是其樂觀並行執行模型。該方法重新思考了交易在協議層面上的處理方式,解決了傳統區塊鏈的一個關鍵限制:順序執行。在以太坊等平台上,交易是逐一執行的,這確保狀態一致性,但嚴重限制了吞吐量和整體性能。

Monad的虛擬機通過假設區塊內的大多數交易是獨立的,並且不與區塊鏈狀態的相同部分交互,引入並行性。基於這一假設,交易被分組並安排在多個處理線程上並行運行。這通過比順序模型更有效地利用現代多核處理器,顯著提高執行吞吐量,特別是在高網絡負載下。

然而,並行性引入了數據衝突的潛在風險,例如兩筆交易嘗試修改同一個帳戶或合約的情況。Monad 通過納入衝突檢測和解決系統來解決這個問題。在並行執行交易後,系統會檢查不一致之處。如果檢測到衝突,只有受影響的交易會被安全地重新執行或重新排序。這確保了區塊鏈保持正確性和確定性狀態轉換,同時仍然從並行處理的效率中受益。

這個模型類似於現代數據庫系統中的樂觀並發控制,在這裡大多數操作被假定為非衝突的並同時處理。只有在邊緣情況下系統才會介入。其結果是一個可擴展和適應的執行層,適用於具有高交易量和各種工作負載的應用程式。

樂觀的並行執行對於 DeFi、遊戲和 NFT 市場等用例尤其有利,這些用例中許多使用者同時互動,但很少使用相同的數據。Monad 可以並行處理這些操作,減少擁擠,提高去中心化應用的響應能力,而無需使用離鏈擴展層。

另一個關鍵好處是開發人員的簡化。Monad的EVM兼容環境允許用Solidity編寫的智能合約正常執行,而無需開發人員手動管理並發性。協議在幕後處理執行邏輯,保留開發人員的體驗,同時提高網絡性能。

非同步執行

在補充其並行執行模型的同時,Monad 實現了異步執行,這是一個將交易執行與共識過程分開的架構特性。在傳統區塊鏈中,共識和執行緊密相關 - 驗證者必須在同意並最終確定區塊之前運行所有交易。這種耦合引入了延遲,限制了新區塊的產生速度。

Monad 透過最終確定交易順序,通過共識,將這些功能解耦,然後才執行它們。此設計使得共識層可以獨立且持續運作,而執行則在後台並行運行。這增加了驗證者的效率並減少區塊時間,因為驗證者不再受限於計算每筆交易結果所需的時間。

該系統通過確保所有節點以相同約定的順序執行完全相同的交易,即使執行本身在不同時間進行,來維護確定性和安全性。這保證了網絡上的一致性,並防止區塊鏈狀態的分歧。

異步執行也補充了Monad的樂觀並行性。當共識進展並且新區塊迅速最終確定時,執行同時發生在多個線程中,只在需要時解決衝突。這種並行異步組合最大化了系統並發性和資源使用,同時不會影響正確性。

從用戶和開發者的角度來看,這種架構導致更快的交易包含,更具響應性的應用程序以及更好的可擴展性。驗證人員也從減少瓶頸中受益,從而實現更高效和去中心化的網路。

MonadBFT 共識機制

Monad 中的共識是通過 MonadBFT 達成的,這是 HotStuff 拜占庭容錯(BFT)協議的定制適應版本。 這種共識機制經過優化,旨在實現低延遲終局性和高吞吐量,同時又向分散式驗證者開放。

HotStuff最初是為了減少確定區塊所需的通信輪數而開發的。MonadBFT在此基礎上進一步發展,實現了單槽確定性,即在一輪共識中確定區塊,無需等待多次確認。這提供了即時的交易確定性,提高了應用程序的可預測性,降低了鏈重組的風險。

MonadBFT 使用基於領導者的模型。在每個回合中,一個驗證者提出一個區塊,而其他人對其進行驗證和投票。如果三分之二的總驗證者權益確認該區塊,則該區塊將被最終確認。這種流程簡化了過程,並在正常運行條件下特別加速了區塊的生成。

為確保活著性,MonadBFT 包括領導者輪換和超時策略。如果領導者未能提出一個區塊,下一個驗證者將自動接管。這種韌性確保了鏈繼續推進,即使一些驗證者離線或無響應。

從安全的角度來看,MonadBFT遵循典型的BFT閾值,容忍多達三分之一的驗證器惡意行為而不危及安全。一旦區塊被最終確定,它將被密碼封存,沒有誠實參與者的串通,控制大多數驗證器權力,就無法撤銷。

該協議與Monad的異步執行模型緊密集成。由於在執行之前確定了區塊,系統可以在沒有延遲的情況下繼續進展,而執行層則獨立處理交易。這種架構減少了驗證程序的工作量,使系統能夠在不依賴於集中式排序服務或可信中間人的情況下保持高性能。

MonadDB

高效執行和共識依賴於高性能的狀態管理系統。在Monad中,這一角色由MonadDB來履行,該區塊鏈的自定義狀態存儲層。MonadDB負責存儲所有鏈上數據,包括賬戶餘額、合約存儲和其他持久狀態變量。它被設計為快速、並行,並且完全兼容Monad的平行執行引擎。

MonadDB 使用具有版本控制和持久性的鍵值存儲,使其能夠同時維護多個狀態快照。這對於支持推測執行至關重要,其中多個交易並行處理,並根據衝突可能回滾或調整。透過存儲狀態的不同版本,MonadDB 允許執行引擎有效地隔離和解決數據衝突。

在其核心,MonadDB 使用 Merkle Patricia Trie 數據結構——一種具有加密安全性的樹狀結構,可以快速驗證區塊鏈狀態。這種 trie 結構確保狀態的任何更改都導致新的根哈希,所有節點都可以驗證。它支持無信任同步,輕量級客戶端和基於證據的狀態驗證,這些是安全和可擴展區塊鏈設計的基礎。

為處理預期的交易量,MonadDB 被設計用於低延遲讀寫。它包括緩存、並發安全訪問控制和高速磁盤存儲,以確保快速檢索和修改狀態條目。這些優化允許執行層在不受數據訪問延遲影響的情況下運行高吞吐量。

從開發人員的角度來看,MonadDB 是完全抽象的。智能合約開發人員通過熟悉的 Solidity 構造與區塊鏈進行交互,無需管理底層狀態機制。MonadDB 確保狀態即使在高負載或複雜合約執行期間也能準確更新和存儲。

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.
الكتالوج
الدرس رقم 3

Monad的技術架構

本模組提供了對Monad架構的深入技術分析,涵蓋協議如何實現高吞吐量和低延遲。主題包括並行執行引擎、異步執行模型、MonadBFT共識和自定MonadDB存儲層,所有這些都旨在支持復雜、可擴展的鏈上應用。

樂觀並行執行

Monad區塊鏈最具定義性革新之一是其樂觀並行執行模型。該方法重新思考了交易在協議層面上的處理方式,解決了傳統區塊鏈的一個關鍵限制:順序執行。在以太坊等平台上,交易是逐一執行的,這確保狀態一致性,但嚴重限制了吞吐量和整體性能。

Monad的虛擬機通過假設區塊內的大多數交易是獨立的,並且不與區塊鏈狀態的相同部分交互,引入並行性。基於這一假設,交易被分組並安排在多個處理線程上並行運行。這通過比順序模型更有效地利用現代多核處理器,顯著提高執行吞吐量,特別是在高網絡負載下。

然而,並行性引入了數據衝突的潛在風險,例如兩筆交易嘗試修改同一個帳戶或合約的情況。Monad 通過納入衝突檢測和解決系統來解決這個問題。在並行執行交易後,系統會檢查不一致之處。如果檢測到衝突,只有受影響的交易會被安全地重新執行或重新排序。這確保了區塊鏈保持正確性和確定性狀態轉換,同時仍然從並行處理的效率中受益。

這個模型類似於現代數據庫系統中的樂觀並發控制,在這裡大多數操作被假定為非衝突的並同時處理。只有在邊緣情況下系統才會介入。其結果是一個可擴展和適應的執行層,適用於具有高交易量和各種工作負載的應用程式。

樂觀的並行執行對於 DeFi、遊戲和 NFT 市場等用例尤其有利,這些用例中許多使用者同時互動,但很少使用相同的數據。Monad 可以並行處理這些操作,減少擁擠,提高去中心化應用的響應能力,而無需使用離鏈擴展層。

另一個關鍵好處是開發人員的簡化。Monad的EVM兼容環境允許用Solidity編寫的智能合約正常執行,而無需開發人員手動管理並發性。協議在幕後處理執行邏輯,保留開發人員的體驗,同時提高網絡性能。

非同步執行

在補充其並行執行模型的同時,Monad 實現了異步執行,這是一個將交易執行與共識過程分開的架構特性。在傳統區塊鏈中,共識和執行緊密相關 - 驗證者必須在同意並最終確定區塊之前運行所有交易。這種耦合引入了延遲,限制了新區塊的產生速度。

Monad 透過最終確定交易順序,通過共識,將這些功能解耦,然後才執行它們。此設計使得共識層可以獨立且持續運作,而執行則在後台並行運行。這增加了驗證者的效率並減少區塊時間,因為驗證者不再受限於計算每筆交易結果所需的時間。

該系統通過確保所有節點以相同約定的順序執行完全相同的交易,即使執行本身在不同時間進行,來維護確定性和安全性。這保證了網絡上的一致性,並防止區塊鏈狀態的分歧。

異步執行也補充了Monad的樂觀並行性。當共識進展並且新區塊迅速最終確定時,執行同時發生在多個線程中,只在需要時解決衝突。這種並行異步組合最大化了系統並發性和資源使用,同時不會影響正確性。

從用戶和開發者的角度來看,這種架構導致更快的交易包含,更具響應性的應用程序以及更好的可擴展性。驗證人員也從減少瓶頸中受益,從而實現更高效和去中心化的網路。

MonadBFT 共識機制

Monad 中的共識是通過 MonadBFT 達成的,這是 HotStuff 拜占庭容錯(BFT)協議的定制適應版本。 這種共識機制經過優化,旨在實現低延遲終局性和高吞吐量,同時又向分散式驗證者開放。

HotStuff最初是為了減少確定區塊所需的通信輪數而開發的。MonadBFT在此基礎上進一步發展,實現了單槽確定性,即在一輪共識中確定區塊,無需等待多次確認。這提供了即時的交易確定性,提高了應用程序的可預測性,降低了鏈重組的風險。

MonadBFT 使用基於領導者的模型。在每個回合中,一個驗證者提出一個區塊,而其他人對其進行驗證和投票。如果三分之二的總驗證者權益確認該區塊,則該區塊將被最終確認。這種流程簡化了過程,並在正常運行條件下特別加速了區塊的生成。

為確保活著性,MonadBFT 包括領導者輪換和超時策略。如果領導者未能提出一個區塊,下一個驗證者將自動接管。這種韌性確保了鏈繼續推進,即使一些驗證者離線或無響應。

從安全的角度來看,MonadBFT遵循典型的BFT閾值,容忍多達三分之一的驗證器惡意行為而不危及安全。一旦區塊被最終確定,它將被密碼封存,沒有誠實參與者的串通,控制大多數驗證器權力,就無法撤銷。

該協議與Monad的異步執行模型緊密集成。由於在執行之前確定了區塊,系統可以在沒有延遲的情況下繼續進展,而執行層則獨立處理交易。這種架構減少了驗證程序的工作量,使系統能夠在不依賴於集中式排序服務或可信中間人的情況下保持高性能。

MonadDB

高效執行和共識依賴於高性能的狀態管理系統。在Monad中,這一角色由MonadDB來履行,該區塊鏈的自定義狀態存儲層。MonadDB負責存儲所有鏈上數據,包括賬戶餘額、合約存儲和其他持久狀態變量。它被設計為快速、並行,並且完全兼容Monad的平行執行引擎。

MonadDB 使用具有版本控制和持久性的鍵值存儲,使其能夠同時維護多個狀態快照。這對於支持推測執行至關重要,其中多個交易並行處理,並根據衝突可能回滾或調整。透過存儲狀態的不同版本,MonadDB 允許執行引擎有效地隔離和解決數據衝突。

在其核心,MonadDB 使用 Merkle Patricia Trie 數據結構——一種具有加密安全性的樹狀結構,可以快速驗證區塊鏈狀態。這種 trie 結構確保狀態的任何更改都導致新的根哈希,所有節點都可以驗證。它支持無信任同步,輕量級客戶端和基於證據的狀態驗證,這些是安全和可擴展區塊鏈設計的基礎。

為處理預期的交易量,MonadDB 被設計用於低延遲讀寫。它包括緩存、並發安全訪問控制和高速磁盤存儲,以確保快速檢索和修改狀態條目。這些優化允許執行層在不受數據訪問延遲影響的情況下運行高吞吐量。

從開發人員的角度來看,MonadDB 是完全抽象的。智能合約開發人員通過熟悉的 Solidity 構造與區塊鏈進行交互,無需管理底層狀態機制。MonadDB 確保狀態即使在高負載或複雜合約執行期間也能準確更新和存儲。

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.