Monoscope | MonadBFT 對開發者和用戶意味着什麼(第2部分)

進階5/8/2025, 1:56:41 AM
本文詳細介紹了MonadBFT的單輪投機性最終性和樂觀響應能力。這些特性使MonadBFT能夠在不損害安全性的情況下實現更快的交易確認和更高的網路響應能力,同時爲開發人員提供了更簡單的最終性模型和更好的用戶體驗。

第1部分,我們研究了經典PBFT共識的工作原理以及早期版本的HotStuff是如何運作的。我們還研究了MonadBFT是如何解決HotStuff的尾部分叉問題的,這是一個在流水線系統中,有效區塊有時會被落下的問題。

這個尾隨分叉問題造成了兩個大問題:1)它搞亂了誠實塊構建者的獎勵,2)可能會導致網路停滯。

MonadBFT引入了Reproposal規則和No-Endorsement投票機制,以消除尾分叉問題,確保來自誠實提議者的任何正確批準的區塊都將始終進入鏈中。

在第2部分中,我們將探討MonadBFT的另外兩個特徵,即1)投機性終局和2)樂觀的響應能力。我們還將探討MonadBFT對開發人員的影響。

一輪投機性最終性

除了尾叉抗拒外,MonadBFT的另一個重要特性是在單一輪內的猜測性最終性。

在實際操作中,這意味着客戶和用戶可以在區塊獲得超過半數的投票後立即收到交易確認,甚至在下一輪完成之前。

回想一下,在協議基線HotStuff中,一個塊通常不被認爲是最終的(不可逆)直到它經歷了至少兩個階段(例如Fast-Hotstuff和Diem-BFT):第一階段獲得法定證書(用≥2f+1票鎖定塊),第二階段下一位領導者在此基礎上構建並承諾該塊。

爲了確保安全性,需要進行兩階段提交:一旦足夠多的誠實節點鎖定了一個區塊,就不會有衝突的區塊能夠獲得法定人數,下一輪的提交會使其變爲永久。因此,通常情況下,客戶端可能需要等待下一個區塊或下一輪產生之前,才能確定上一筆交易是否最終完成。

MonadBFT基本上允許交易在經過一輪投票後被認爲足夠最終(安全執行)。這稱爲推測性最終性。

當領導者提出一個區塊並且驗證者投票形成一個QC來確認該區塊時,該區塊現在處於已投票狀態(被法定人數鎖定)。在MonadBFT中,驗證者將在形成QC後立即執行該區塊的交易,甚至向客戶端發送初步確認,表明該區塊已(推測性地)被接受。這就像在說:“我們有絕對多數人同意這個區塊。除非發生非常意外的事情,否則請將此區塊視爲已確認。”

這種即時確認是樂觀的。區塊尚未在帳本中提交。當下一個提案到來並最終確定(QC-on QC)時,區塊將被提交,但在正常情況下,沒有任何事情會撤銷它。唯一可以撤銷具有推測性執行的區塊的情況是如果領導者出現了矛盾(即在同一高度提出了兩個不同的區塊以分割投票)。

您可以將投機性最終性視爲尾部分叉抵抗的一個很好的副產品。尾部分叉抵抗可保證即使下一個領導者崩潰,當前提案也不會被放棄(這要歸功於再提案和NEC規則)。因此,只有在原始提案者出現二義性(經過證明是惡意的雙籤名故障)時,投機執行的區塊才會被丟棄:1)可以通過衝突的QCs檢測,2)可被懲罰,3)極其罕見。

在以前的協議中,他們並沒有保證下一個領導者會重新提出上一個區塊,因此尾部分叉是可能的,打破了推測的假設。

樂觀的響應

在大多數共識協議中,每輪後都會有一個內置的等待時間,就像一個緩衝期或超時。這是爲了確保所有消息都已到達,然後再繼續前進。這是一種保護機制,旨在處理最壞的情況,比如當領導者崩潰或根本不發送任何消息時。

這些超時通常過於保守。如果網路正常運行且所有驗證者行爲正確,則固定等待就變得不必要。區塊本可以更快被最終確認,但協議爲防萬一而減緩了速度。

MonadBFT引入了樂觀的響應性,這意味着協議可以立即基於網路消息進行推進,而不總是依賴固定的定時器。這裏的設計原則可以概括爲“能快時快,必須耐心時耐心”。

MonadBFT被設計成這樣,即使在正常情況下,甚至在從故障中恢復時,如果沒有必要,它也不會暫停預定的超時。

  • 在幸福路徑(意味着我們有一個誠實的領導者):在提議或投票中沒有內置的延遲。一旦領導者輪到,它就提出一個區塊。一旦驗證者收到一個有效的提議,他們就投票。在領導者(或者更確切地說,下一個領導者,因爲投票會發送到流水線式HotStuff中的下一個提議者)收集到2f+1票時,QC形成並可以傳播。在樂觀響應設計中,這將立即觸發下一個階段。

實際上,這意味着如果節點之間的網路延遲爲100毫秒,共識可能僅需幾百毫秒就能完成一輪(加上計算和聚合開銷)。

如果沒有必要,它不會等待完整的一秒鍾“時隙時間”。這與以太坊主網形成對比,後者遵循時隙和紀元模型在以太坊上,區塊生產固定在12秒間隔。即使所有人都準備好了,協議也會等待。

MonadBFT的方法消除了不必要的延遲。它保留了流水線式的HotStuff結構,但在正常情況下取消了剛性的“你必須等待Δ秒”的規則。這意味着它可以在響應性方面勝過時間限制系統,而不會犧牲安全性。

  • 在不幸的路徑(領導者失敗)中:在許多共識協議中,當領導者未能提出一個區塊時,其他節點只有在經過超時Δ之後才意識到這一點。例如,如果Δ爲1秒,那麼這段時間基本上就浪費了。MonadBFT處理方式不同。當驗證者檢測到缺失的提案時,他們立即廣播超時消息(TC或超時證書)。一旦看到2f+1個這樣的超時,下一個領導者接管。進入新視圖是由基於法定人數的證據觸發的,而不是由時鍾觸發。

與hotstuff-family共識的比較

MonadBFT 建立在 HotStuff 系列共識協議的血統之上,但通過實現理想的屬性組合而脫穎而出,而以前的設計無法在不進行權衡的情況下完全集成這些屬性。早期的協議通常針對某些維度(如流水線吞吐量或線性通信)進行了優化,但不得不犧牲其他維度。MonadBFT 獨特地將線性消息傳遞復雜性、流水線提交、強大的尾部分叉阻力、無固定延遲的即時響應和高效的恢復機制相結合,同時保持快速確定性和高活躍性保證。下表總結了 MonadBFT 在這些關鍵維度上與其他輪換領導者 BFT 協議的比較:

開發人員和用戶會怎麼樣?

對於開發人員來說,MonadBFT 意味着兩件事:

  • 更簡單的最終性模型:使用MonadBFT,您可以將具有QC(超過半數投票)的區塊視爲在大多數情況下已經最終確定,因爲協議將最終確定它,或者如果不是,則會削減。開發人員可以安全地依靠1個區塊確認並具有較高的信心。
  • 改進的應用程序用戶體驗:如果您正在構建高吞吐量的應用程序(交易所、遊戲等),MonadBFT的低延遲和抗分叉特性將帶來更流暢的用戶體驗。用戶幾乎可以立即看到他們的操作得到確認,不常見混亂的重組或回滾。這讓您可以設計假定最終性和快速更新的應用程序。
  • 確定性行爲:MonadBFT的更嚴格規則(如重新提議要求)減少了區塊包含中的非確定性。減少了“邊緣情況”場景,例如一個區塊可能會根據微妙的時機而被包含或跳過,例如投票或超時先到達領導者。MonadBFT用明確的規則和可驗證的證據取代了這種對時機敏感的模糊性。這使得更容易推斷協議的正確性並對其進行測試。它還爲識別故障節點提供了明確依據(例如,如果有人未能重新提議或提出衝突的區塊,則知道他們違反了協議)。
  • 可擴展的餘地:如果您是一個關心擴展性的開發者,MonadBFT可以讓您在遇到瓶頸之前有更多的餘地。您可以更輕鬆地增加區塊大小或驗證者數量,而不像二次協議那樣不舒服。而像消除編碼塊傳播這樣的功能意味着您可以通過網路傳輸大量數據,而不會使個別節點超負荷。這使得可以追求更高的吞吐量,從而爲更雄心勃勃的鏈上應用開闢了設計空間。

對於最終用戶:一個普通用戶可能不了解我們在這裏討論的任何內容,但他們會感受到它的影響。在Monad鏈的支撐下,用戶可以期待以下所有良好的特性,而不會犧牲去中心化和抗審查性能。

  • 更快的確認:交易(如發送代幣、交換資產、鑄造NFT、執行交易)將會非常快速確認。
  • 更少的驚喜:鏈狀態的一致性更高,因爲諸如尾部分叉(本質上是重新組織)之類的東西被消除了
  • 公平和透明性:共識方面的改進間接意味着鏈的運行更加公平。沒有單個驗證者可以輕易審查交易或在區塊之間進行排序遊戲。

結論

簡而言之,MonadBFT在流水線式HotStuff共識的基礎上引入了四項核心創新:

尾部分叉抵抗力:MonadBFT是第一個流水線式BFT協議,可消除尾部分叉攻擊。它通過要求下一位領導者在前任領導者失敗時重新提議最後投票的區塊,或者以無背書證書(NEC)作爲證明,表明該區塊缺乏支持來實現這一點。這確保不會放棄超多數背書的區塊,保護誠實領導者的獎勵,並防止惡意重組和跨區塊MEV提取。

一輪推測性最終性:驗證者可以在一輪通信後確認一個區塊(一個領導者提案和投票),爲客戶提供即時的包含確認。這種推測性確認只有在領導者發生否認的情況下才會撤銷(這種行爲可以被證明並受到懲罰),在實踐中這是一個安全的假設。

樂觀響應:該協議以網路速度運行,沒有固有延遲。領導者一旦收到必要的投票就會推進共識,並且在觀察到超時的法定人數後,視圖更改會立即發生,而不是等待固定的超時間隔。這種樂觀響應設計最大限度地減少等待時間,最大化吞吐量,同時在異步性和故障發生時穩健地處理。

線性通信:在快樂路徑上(意味着領導者誠實),消息和認證復雜度與驗證者數量呈線性關係。MonadBFT保留了HotStuff的高效通信模式,使用聚合籤名和簡單的領導者到驗證者的廣播,這使得協議能夠在不影響性能的情況下擴展到數百個驗證者。

聲明:

  1. 本文轉載自 [michael_lwy],著作權歸屬原作者 [michael_lwy],如對轉載有異議,請聯系 Gate Learn 團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本 由Gate Learn 團隊翻譯, 在未提及 Gate.io 的情況下不得復制、傳播或抄襲經翻譯文章。
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.

Monoscope | MonadBFT 對開發者和用戶意味着什麼(第2部分)

進階5/8/2025, 1:56:41 AM
本文詳細介紹了MonadBFT的單輪投機性最終性和樂觀響應能力。這些特性使MonadBFT能夠在不損害安全性的情況下實現更快的交易確認和更高的網路響應能力,同時爲開發人員提供了更簡單的最終性模型和更好的用戶體驗。

第1部分,我們研究了經典PBFT共識的工作原理以及早期版本的HotStuff是如何運作的。我們還研究了MonadBFT是如何解決HotStuff的尾部分叉問題的,這是一個在流水線系統中,有效區塊有時會被落下的問題。

這個尾隨分叉問題造成了兩個大問題:1)它搞亂了誠實塊構建者的獎勵,2)可能會導致網路停滯。

MonadBFT引入了Reproposal規則和No-Endorsement投票機制,以消除尾分叉問題,確保來自誠實提議者的任何正確批準的區塊都將始終進入鏈中。

在第2部分中,我們將探討MonadBFT的另外兩個特徵,即1)投機性終局和2)樂觀的響應能力。我們還將探討MonadBFT對開發人員的影響。

一輪投機性最終性

除了尾叉抗拒外,MonadBFT的另一個重要特性是在單一輪內的猜測性最終性。

在實際操作中,這意味着客戶和用戶可以在區塊獲得超過半數的投票後立即收到交易確認,甚至在下一輪完成之前。

回想一下,在協議基線HotStuff中,一個塊通常不被認爲是最終的(不可逆)直到它經歷了至少兩個階段(例如Fast-Hotstuff和Diem-BFT):第一階段獲得法定證書(用≥2f+1票鎖定塊),第二階段下一位領導者在此基礎上構建並承諾該塊。

爲了確保安全性,需要進行兩階段提交:一旦足夠多的誠實節點鎖定了一個區塊,就不會有衝突的區塊能夠獲得法定人數,下一輪的提交會使其變爲永久。因此,通常情況下,客戶端可能需要等待下一個區塊或下一輪產生之前,才能確定上一筆交易是否最終完成。

MonadBFT基本上允許交易在經過一輪投票後被認爲足夠最終(安全執行)。這稱爲推測性最終性。

當領導者提出一個區塊並且驗證者投票形成一個QC來確認該區塊時,該區塊現在處於已投票狀態(被法定人數鎖定)。在MonadBFT中,驗證者將在形成QC後立即執行該區塊的交易,甚至向客戶端發送初步確認,表明該區塊已(推測性地)被接受。這就像在說:“我們有絕對多數人同意這個區塊。除非發生非常意外的事情,否則請將此區塊視爲已確認。”

這種即時確認是樂觀的。區塊尚未在帳本中提交。當下一個提案到來並最終確定(QC-on QC)時,區塊將被提交,但在正常情況下,沒有任何事情會撤銷它。唯一可以撤銷具有推測性執行的區塊的情況是如果領導者出現了矛盾(即在同一高度提出了兩個不同的區塊以分割投票)。

您可以將投機性最終性視爲尾部分叉抵抗的一個很好的副產品。尾部分叉抵抗可保證即使下一個領導者崩潰,當前提案也不會被放棄(這要歸功於再提案和NEC規則)。因此,只有在原始提案者出現二義性(經過證明是惡意的雙籤名故障)時,投機執行的區塊才會被丟棄:1)可以通過衝突的QCs檢測,2)可被懲罰,3)極其罕見。

在以前的協議中,他們並沒有保證下一個領導者會重新提出上一個區塊,因此尾部分叉是可能的,打破了推測的假設。

樂觀的響應

在大多數共識協議中,每輪後都會有一個內置的等待時間,就像一個緩衝期或超時。這是爲了確保所有消息都已到達,然後再繼續前進。這是一種保護機制,旨在處理最壞的情況,比如當領導者崩潰或根本不發送任何消息時。

這些超時通常過於保守。如果網路正常運行且所有驗證者行爲正確,則固定等待就變得不必要。區塊本可以更快被最終確認,但協議爲防萬一而減緩了速度。

MonadBFT引入了樂觀的響應性,這意味着協議可以立即基於網路消息進行推進,而不總是依賴固定的定時器。這裏的設計原則可以概括爲“能快時快,必須耐心時耐心”。

MonadBFT被設計成這樣,即使在正常情況下,甚至在從故障中恢復時,如果沒有必要,它也不會暫停預定的超時。

  • 在幸福路徑(意味着我們有一個誠實的領導者):在提議或投票中沒有內置的延遲。一旦領導者輪到,它就提出一個區塊。一旦驗證者收到一個有效的提議,他們就投票。在領導者(或者更確切地說,下一個領導者,因爲投票會發送到流水線式HotStuff中的下一個提議者)收集到2f+1票時,QC形成並可以傳播。在樂觀響應設計中,這將立即觸發下一個階段。

實際上,這意味着如果節點之間的網路延遲爲100毫秒,共識可能僅需幾百毫秒就能完成一輪(加上計算和聚合開銷)。

如果沒有必要,它不會等待完整的一秒鍾“時隙時間”。這與以太坊主網形成對比,後者遵循時隙和紀元模型在以太坊上,區塊生產固定在12秒間隔。即使所有人都準備好了,協議也會等待。

MonadBFT的方法消除了不必要的延遲。它保留了流水線式的HotStuff結構,但在正常情況下取消了剛性的“你必須等待Δ秒”的規則。這意味着它可以在響應性方面勝過時間限制系統,而不會犧牲安全性。

  • 在不幸的路徑(領導者失敗)中:在許多共識協議中,當領導者未能提出一個區塊時,其他節點只有在經過超時Δ之後才意識到這一點。例如,如果Δ爲1秒,那麼這段時間基本上就浪費了。MonadBFT處理方式不同。當驗證者檢測到缺失的提案時,他們立即廣播超時消息(TC或超時證書)。一旦看到2f+1個這樣的超時,下一個領導者接管。進入新視圖是由基於法定人數的證據觸發的,而不是由時鍾觸發。

與hotstuff-family共識的比較

MonadBFT 建立在 HotStuff 系列共識協議的血統之上,但通過實現理想的屬性組合而脫穎而出,而以前的設計無法在不進行權衡的情況下完全集成這些屬性。早期的協議通常針對某些維度(如流水線吞吐量或線性通信)進行了優化,但不得不犧牲其他維度。MonadBFT 獨特地將線性消息傳遞復雜性、流水線提交、強大的尾部分叉阻力、無固定延遲的即時響應和高效的恢復機制相結合,同時保持快速確定性和高活躍性保證。下表總結了 MonadBFT 在這些關鍵維度上與其他輪換領導者 BFT 協議的比較:

開發人員和用戶會怎麼樣?

對於開發人員來說,MonadBFT 意味着兩件事:

  • 更簡單的最終性模型:使用MonadBFT,您可以將具有QC(超過半數投票)的區塊視爲在大多數情況下已經最終確定,因爲協議將最終確定它,或者如果不是,則會削減。開發人員可以安全地依靠1個區塊確認並具有較高的信心。
  • 改進的應用程序用戶體驗:如果您正在構建高吞吐量的應用程序(交易所、遊戲等),MonadBFT的低延遲和抗分叉特性將帶來更流暢的用戶體驗。用戶幾乎可以立即看到他們的操作得到確認,不常見混亂的重組或回滾。這讓您可以設計假定最終性和快速更新的應用程序。
  • 確定性行爲:MonadBFT的更嚴格規則(如重新提議要求)減少了區塊包含中的非確定性。減少了“邊緣情況”場景,例如一個區塊可能會根據微妙的時機而被包含或跳過,例如投票或超時先到達領導者。MonadBFT用明確的規則和可驗證的證據取代了這種對時機敏感的模糊性。這使得更容易推斷協議的正確性並對其進行測試。它還爲識別故障節點提供了明確依據(例如,如果有人未能重新提議或提出衝突的區塊,則知道他們違反了協議)。
  • 可擴展的餘地:如果您是一個關心擴展性的開發者,MonadBFT可以讓您在遇到瓶頸之前有更多的餘地。您可以更輕鬆地增加區塊大小或驗證者數量,而不像二次協議那樣不舒服。而像消除編碼塊傳播這樣的功能意味着您可以通過網路傳輸大量數據,而不會使個別節點超負荷。這使得可以追求更高的吞吐量,從而爲更雄心勃勃的鏈上應用開闢了設計空間。

對於最終用戶:一個普通用戶可能不了解我們在這裏討論的任何內容,但他們會感受到它的影響。在Monad鏈的支撐下,用戶可以期待以下所有良好的特性,而不會犧牲去中心化和抗審查性能。

  • 更快的確認:交易(如發送代幣、交換資產、鑄造NFT、執行交易)將會非常快速確認。
  • 更少的驚喜:鏈狀態的一致性更高,因爲諸如尾部分叉(本質上是重新組織)之類的東西被消除了
  • 公平和透明性:共識方面的改進間接意味着鏈的運行更加公平。沒有單個驗證者可以輕易審查交易或在區塊之間進行排序遊戲。

結論

簡而言之,MonadBFT在流水線式HotStuff共識的基礎上引入了四項核心創新:

尾部分叉抵抗力:MonadBFT是第一個流水線式BFT協議,可消除尾部分叉攻擊。它通過要求下一位領導者在前任領導者失敗時重新提議最後投票的區塊,或者以無背書證書(NEC)作爲證明,表明該區塊缺乏支持來實現這一點。這確保不會放棄超多數背書的區塊,保護誠實領導者的獎勵,並防止惡意重組和跨區塊MEV提取。

一輪推測性最終性:驗證者可以在一輪通信後確認一個區塊(一個領導者提案和投票),爲客戶提供即時的包含確認。這種推測性確認只有在領導者發生否認的情況下才會撤銷(這種行爲可以被證明並受到懲罰),在實踐中這是一個安全的假設。

樂觀響應:該協議以網路速度運行,沒有固有延遲。領導者一旦收到必要的投票就會推進共識,並且在觀察到超時的法定人數後,視圖更改會立即發生,而不是等待固定的超時間隔。這種樂觀響應設計最大限度地減少等待時間,最大化吞吐量,同時在異步性和故障發生時穩健地處理。

線性通信:在快樂路徑上(意味着領導者誠實),消息和認證復雜度與驗證者數量呈線性關係。MonadBFT保留了HotStuff的高效通信模式,使用聚合籤名和簡單的領導者到驗證者的廣播,這使得協議能夠在不影響性能的情況下擴展到數百個驗證者。

聲明:

  1. 本文轉載自 [michael_lwy],著作權歸屬原作者 [michael_lwy],如對轉載有異議,請聯系 Gate Learn 團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本 由Gate Learn 團隊翻譯, 在未提及 Gate.io 的情況下不得復制、傳播或抄襲經翻譯文章。
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.
Start Now
Sign up and get a
$100
Voucher!