[論文レビュー] BFT Consensus: From Academic Paper to Mainnet (Invited Talk)
Mysticeti-C は、明示的なブロック認証を排除し、しきい値論理時計を用いてブロックごとのコミットを可能にする、DAGに基づく新しいバシルトゥス合意プロトコルである。これにより、3メッセージラウンドの最適な遅延(WANで0.5秒)と200k TPSを超えるスループットを達成した。Bullshark よりも80%低い遅延を実現し、Mysticeti-FPC を用いてリソース効率の高いファストパストランザクションを実現した。Mysticeti-FPC は、最小限の署名とメッセージで、ファストパス転送をDAGに直接統合している。
This talk shares our journey in bringing Byzantine Fault Tolerant (BFT) consensus from academic papers to operational blockchain networks. It begins in 2019 with our initial effort as researchers and engineers at Facebook to deploy the HotStuff consensus protocol [Yin et al., 2019] at the heart of the Libra blockchain [Facebook, 2022]. We present how this journey led to modifications from the original theoretical design [Rati Gelashvili et al., 2021] and the eventual migration to DAG-based systems [George Danezis et al., 2022; Alexander Spiegelman et al., 2022], now implemented in the Sui blockchain [The Sui team, 2023] and gaining traction across the blockchain space [Arun et al., 2024; Kushal Babel et al., 2024; Shrestha et al., 2024; Malkhi et al., 2023]. We outline the numerous research and engineering challenges we faced at every step of this journey, describe how we addressed some of these challenges [Bano et al., 2020; Giuliari et al., 2024], and point out which ones remain open questions and require further research. This talk aims to offer a different perspective on BFT consensus, focusing on the needs of real-world blockchains and offering insights that may not be visible from research papers alone.
研究の動機と目的
- Bullshark などの認証付きDAGベース合意プロトコルが示す2〜3秒の高遅延を是正する。その原因は、複数ラウンドの認証、ウェーブベースコミット、署名検証に伴う高いCPU負荷にある。
- バシルトゥス合意の理論的下限である3メッセージラウンドを達成しつつ、高いスループットと検閲耐性を維持する。
- クラッシュ故障時にも滑らかに劣化する生産環境向けプロトコルを設計し、ブロックあたりの署名生成および検証を減らすことでCPU負荷を最小限に抑える。
- ファストパスメカニズム(Mysticeti-FPC)を拡張し、明示的証明書が不要な状態で、資産移転のための1秒未塔のトランザクションコミットを可能にし、リソース効率を向上させる。
- 実世界のブロックチェーン(Sui)にプロトコルを統合し、低遅延、高スループット、耐障害性の環境で測定可能なパフォーマンス向上を実証する。
提案手法
- 各ブロックが決定され次第コミットされるしきい値論理時計に基づくDAGを設計し、ウェーブベースやバッチベースのコミット遅延を排除する。
- 新しいコミットルールを導入し、明示的なブロック認証を置き換え、任意のブロックをコミットするには2f+1個のブロックで十分であることを要件とする。これにより、ウェーブを待たずにブロックごとのコミットが可能になる。
- マルチキャスト経由で送信される1種類のメッセージ(署名付きブロック)のみを用いることで、プロトコルの複雑さを低減し、実装性を向上させる。
- ブロック1つあたり1つの署名と1回の検証で済ませることで、CPU負荷を最小限に抑え、回復時における数千の証明書検証を避ける。
- Mysticeti-FPC において、ファストパストランザクションをDAG構造に統合し、投票をタイムスタンプとして使用することで、別個のファストパス証明書の必要性を排除する。
- 3ラウンドにわたり静的スロットを備えた動的プロポーザースロットメカニズムを採用し、クラッシュ故障時におけるライブネスを保証するとともに、1ラウンドあたり複数のプロポーザーを許容することでスループットを向上させる。
実験結果
リサーチクエスチョン
- RQ1ファストパスやオプティミスティックメカニズムに依存しないDAGベースバシルトゥス合意プロトコルが、コミット遅延の理論的下限(3メッセージラウンド)を達成できるか?
- RQ2DAGベースプロトコルにおいて、安全かつライブネスを保ちつつ、ブロック認証を排除する方法は何か?
- RQ3ブロックごとのコミットとウェーブベースコミットの間で、遅延、スループット、CPU使用率にどのような影響があるか?
- RQ4明示的証明書が不要な状態で、DAG構造にネイティブにファストパスメカニズムを統合できるか?その場合、効率性と遅延の改善はどの程度か?
- RQ5クラッシュ故障下でのプロトコルの挙動は?スケールされた生産環境での展開において、高いスループットと低遅延の劣化を防げるか?
主な発見
- Mysticeti-C は、106ノードのネットワーク上でWAN遅延が0.5秒に達し、Bullsharkの1.9秒と比較して80%低い遅延を達成した。
- プロトコルは0.5秒の遅延で200,000件以上のトランザクション/秒(TPS)を維持でき、Narwhalベースの合意を上回り、現代のブロックチェーンの要件を満たした。
- ブロック認証を排除し、ブロック1つあたり1つの署名のみを要件とすることで、CPU負荷を顕著に低減した。特に、ノードのクラッシュ回復時において、数千もの署名検証を回避できた。
- Mysticeti-FPC は、メッセージおよび署名のオーバーヘッドを削減したことで、明示的証明書を用いるプロトコルと比較して8倍以上のリソース効率を発揮し、ファストパスコミット遅延を0.25秒未塔に抑えた。
- Sui ブロックチェーンへのMysticeti-C統合により、遅延が4倍に短縮された。これは、15億ドル以上の価値と100万件以上の日次アクティブアカウントを有する生産環境で実証された、実世界のパフォーマンス向上を示している。
- 1ラウンドあたり複数のプロポーザースロットを用い、動的スロット割り当て戦略を採用することで、クラッシュ故障時でもライブネスと耐障害性を維持し、障害が発生しても進行が停止しないことを保証した。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。