Skip to main content
QUICK REVIEW

[論文レビュー] Bullshark: DAG BFT Protocols Made Practical

Alexander Spiegelman, Neil Giridharan|arXiv (Cornell University)|Jan 14, 2022
Distributed systems and fault tolerance被引用数 13
ひとこと要約

BullSharkは、部分的に同期的なネットワークを最適化した、実用的でDAGベースのByzantine Atomic Broadcast(BAB)プロトコルの最初の実装を提供する。同期的期間における低遅延のファストパスと非同期保証の耐障害性を組み合わせたもので、50パーティの環境で125,000 TPS、2秒の遅延を達成。最新のプロトコルを凌駆し、遅延を33%削減し、HotStuffに比べてスループットを2倍にし、最適な通信複雑性、後量子セキュリティ、公平性を実現。Tuskへの200行の拡張により実現された。

ABSTRACT

We present Bullshark, the first directed acyclic graph (DAG) based asynchronous Byzantine Atomic Broadcast protocol that is optimized for the common synchronous case. Like previous DAG-based BFT protocols, Bullshark requires no extra communication to achieve consensus on top of building the DAG. That is, parties can totally order the vertices of the DAG by interpreting their local view of the DAG edges. Unlike other asynchronous DAG-based protocols, Bullshark provides a practical low latency fast-path that exploits synchronous periods and deprecates the need for notoriously complex view-change mechanisms. Bullshark achieves this while maintaining all the desired properties of its predecessor DAG-Rider. Namely, it has optimal amortized communication complexity, it provides fairness and asynchronous liveness, and safety is guaranteed even under a quantum adversary. In order to show the practicality and simplicity of our approach, we also introduce a standalone partially synchronous version of Bullshark which we evaluate against the state of the art. The implemented protocol is embarrassingly simple (200 LOC on top of an existing DAG-based mempool implementation (Narwhal & Tusk). It is highly efficient, achieving for example, 125,000 transaction per second with a 2 seconds latency for a deployment of 50 parties. In the same setting the state of the art pays a steep 50% latency increase as it optimizes for asynchrony.

研究の動機と目的

  • 理論的DAGベースBFTプロトコルと実用的導入の間のギャップを埋めるために、一般的な同期ネットワーク条件を最適化すること。
  • DAGベースコンセンサスプロトコルにおける複雑なビュー変更およびビュー同期メカニズムの必要性を排除すること。
  • ファストパス性能を可能にしつつ、最適な平均通信複雑性、非同期のライブネス、後量子セキュリティを維持すること。
  • 既存のDAGベースプロトコルに、実用的で最小限のコード(200行)の拡張を加え、高いスループットと低遅延を実現すること。

提案手法

  • BullSharkは、各頂点が取引バッチと直前のラウンドの少なくとも2f+1個の頂点への参照を含む、構造化されたラウンドベースDAGを採用。これにより、追加通信なしにローカルDAG解釈によって完全順序が達成可能。
  • 二重モードメカニズムを導入:同期的期間にはファストパス、波が失敗した場合には非同期コンセンサスにフォールバック。各失敗波の後で投票タイプを切り替える。
  • 効率的な取引配布のためNarwhalメモリプールを活用。安全性和公平性を保証するため、信頼性の高いブロードキャストとしきい値署名に依存。
  • ガーベジコレクションメカニズムにより、メモリ使用量を上限に保ちつつ、同期時における公平性を維持。過去の反応型プロトコルとは異なり、遅い誠実な参加者を除外しない。
  • 部分的に同期的なバージョンは、軽量で200行の実装。モノリシックなコンセンサスパターンを避け、DAG構造に必要な情報をすべて埋め込むことで、ビュー変更ロジックを完全に削除。
  • DAG-Riderのコアロジック(疑似コード30行未満)を継承し、ネットワークの同期性を活用するファストパスメカニズムを拡張。安全性和ライブネスを損なわず、性能を向上。

実験結果

リサーチクエスチョン

  • RQ1同期的ネットワーク期間中に低遅延性能を達成しつつ、非同期状態でも安全性和ライブネスを保証できるDAGベースBFTプロトコルは可能か?
  • RQ2DAG構造を用いてすべての調整を担うことで、DAGベースコンセンサスにおける複雑なビュー変更およびビュー同期メカニズムを排除できるか?
  • RQ3既存のDAGベースプロトコルに、実用的で最小限のコード(200行)の拡張を加え、後量子セキュリティや公平性を損なわず、高いスループットと低遅延を達成できるか?
  • RQ4ファストパスを備えたDAGベースBABプロトコルの性能は、実世界の導入環境において最新のHotStuffおよびTuskと比べてどうか?

主な発見

  • BullSharkは50パーティの環境で125,000 TPS、2秒の遅延を達成し、実世界の条件下でも高い効率性を示した。
  • 部分的に同期的なバージョンは、Narwhalメモリプール上に構築された非同期Tuskプロトコルと比較して、遅延を33%削減した。
  • 同じ環境設定において、部分的に同期的なHotStuffプロトコルのスループットを2倍にし、2倍の性能を達成した。
  • プロトコルは、1取引あたり最適な平均通信複雑性O(n)を維持し、スケーラビリティを保証した。
  • BullSharkは、量子攻撃者下でも後量子セキュリティと公平性(有効性)を維持し、安全성이損なわれないことを保証した。
  • プロトコル全体の拡張はTusk上に200行のコードで実現され、極めて実用的で単純であることが示された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。