Skip to main content
QUICK REVIEW

[論文レビュー] Shoal: Improving DAG-BFT Latency And Robustness

Alexander Spiegelman, Balaji Aurn|arXiv (Cornell University)|Jun 5, 2023
Distributed systems and fault tolerance被引用数 13
ひとこと要約

Shoal は Narwhal ベースの DAG-BFT にリーダー評価とパイプライン処理を追加し、待ち時間を低減させる(故障なしの場合で最大 40%、故障時で最大 80%)、普及的な応答性で堅牢性を向上させる。

ABSTRACT

The Narwhal system is a state-of-the-art Byzantine fault-tolerant scalable architecture that involves constructing a directed acyclic graph (DAG) of messages among a set of validators in a Blockchain network. Bullshark is a zero-overhead consensus protocol on top of the Narwhal's DAG that can order over 100k transactions per second. Unfortunately, the high throughput of Bullshark comes with a latency price due to the DAG construction, increasing the latency compared to the state-of-the-art leader-based BFT consensus protocols. We introduce Shoal, a protocol-agnostic framework for enhancing Narwhal-based consensus. By incorporating leader reputation and pipelining support for the first time, Shoal significantly reduces latency. Moreover, the combination of properties of the DAG construction and the leader reputation mechanism enables the elimination of timeouts in all but extremely uncommon scenarios in practice, a property we name Prevalent Responsiveness" (it strictly subsumes the established and often desired Optimistic Responsiveness property for BFT protocols). We integrated Shoal instantiated with Bullshark, the fastest existing Narwhal-based consensus protocol, in an open-source Blockchain project and provide experimental evaluations demonstrating up to 40% latency reduction in the failure-free executions, and up-to 80% reduction in executions with failures against the vanilla Bullshark implementation.

研究の動機と目的

  • 実践上の安全性を損なうことなく、Narwhal ベースの DAG-BFT における待ち時間の削減を動機づける。
  • Narwhal ベースのプロトコルにリーダー評価とパイプライン処理を組み込むためのプロトコル非依存フレームワークを開発する。
  • 一般的な故障シナリオでタイムアウトを排除することにより、ほぼ連続的な進行を可能にする。
  • Narwhal ベースのプロトコルの既存の特性を活用して Shoal の正確性を示す。
  • 実運用に近いブロックチェーン環境における実践的な性能改善を評価する。

提案手法

  • Shoal を Narwhal ベースの合意プロトコル(DAG-Rider、Tusk、Bullshark)上で動作するプロトコル非依存フレームワークとして導入する。
  • (i) DAG を再解釈して最初に順序付けられたアンカーから新しいプロトコルインスタンスを開始することでパイプライン処理を行い、(ii) 過去の活動に基づいてラウンドリーダーシップを biased するリーダー評価を用いる、2段階のアプローチ。
  • 正確性は性質 1 により保証される: 善意のバリデータがアンカーとリーダーの対応を合意すれば、最初のアンカーの順序付けにも合意する。
  • ラウンドをアンカーに対応付ける決定論的関数 F を組み込み、各順序付けられたアンカーの後に F を更新する。
  • タイムアウトの排除(普及的な応答性)などの実用的な改善を実装する。
  • 遅延改善を評価するため Bullshark と統合されたオープンソース実装を提供する。
Figure 1 . A possible local view of a round-based DAG. The causal history of the vertex identified by validator 2 in round 2 is highlighted in green.
Figure 1 . A possible local view of a round-based DAG. The causal history of the vertex identified by validator 2 in round 2 is highlighted in green.

実験結果

リサーチクエスチョン

  • RQ1Shoal は Narwhal ベースの DAG-BFT における順序付け遅延を安全性を損なうことなく削減できるか?
  • RQ2リーダー評価とパイプライン処理は実際に稼働性とスループットをどのように改善するか?
  • RQ3故障なしと故障時のシナリオで、定量的にどの程度の遅延改善が得られるか?
  • RQ4Shoal でタイムアウトを排除しても遅延を削減しつつ安全性を保てるか?
  • RQ5実運用環境に近い設定で Bullshark を用いて Shoal はどのように機能するか?

主な発見

  • Shoal は故障なしの実行で Vanilla Bullshark と比較して最大 40% の遅延削減を達成する。
  • 故障がある実行では最大 80% の遅延削減を達成する。
  • リーダーシップの評価は遅い/クラッシュしたバリデータをフィルタリングするのに役立ち、ネットワーク速度での DAG の進行を可能にする。
  • パイプライニングは各ラウンドで必ずアンカーを保証し、プロトコルインスタンスを交互に実行することで急な遅延を抑える。
  • タイムアウトの排除はさらに遅延を削減し、一般的な条件下での実装を簡素化する。
  • このフレームワークはプロトコル非依存であり、DAG-Rider、Tusk、Bullshark に適用できる。
Figure 2 . A possible local view of the DAG in the partially synchronous Bullshark protocol. Filled squares represent the pre-defined anchors. In this example, the validator orders the red and yellow anchors, while the green (which is not in the DAG) anchor is skipped. To order the DAG, the validato
Figure 2 . A possible local view of the DAG in the partially synchronous Bullshark protocol. Filled squares represent the pre-defined anchors. In this example, the validator orders the red and yellow anchors, while the green (which is not in the DAG) anchor is skipped. To order the DAG, the validato

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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