DAGプロトコルでBFTコンセンサスを強化する
DAGベースのBFTプロトコルは、トランザクション処理のスケーラビリティと効率を向上させるよ。
― 1 分で読む
目次
ビザンチンフォールトトレランス(BFT)システムは、ネットワーク内の故障があっても信頼性を確保するために設計されてる。サーバーの一部が失敗したり、間違った動作をしても、正しく動作を維持する。BFTコンセンサスプロトコルは、特にブロックチェーンのような分散型システムで、トランザクションが正確かつ効率的に処理されることを確保するために広く使われている。
従来のBFTプロトコル
初期のBFTプロトコルは、分散環境で合意を得る問題に焦点を当てていた。実用的ビザンチンフォールトトレランス(PBFT)プロトコルは、その成功した実装の一つで、サーバーグループがトランザクションの順序について合意できるようにした。PBFTは低遅延を達成し、故障のないシナリオでトランザクションをコミットするのに3回のメッセージ交換しか必要としない。ただし、コマンドの順序を提案するリーダーが1人必要で、それが失敗のリスクを生むし、スループットを制限してしまう。
遅延とスループットの課題
現在のBFTプロトコルは、遅延とスループットのバランスを取るのが難しい。従来のBFTプロトコルは遅延を最適化する一方で、新しいプロトコルは高いスループットを優先して、応答時間を犠牲にすることが多い。これがBFTシステムの設計において、低遅延と高スループットの両方を達成することが大きな課題になっている。
DAG-BFTプロトコルの紹介
最近、DAG(Directed Acyclic Graph)ベースのBFTプロトコル、つまりDAG-BFTプロトコルという新しいタイプのBFTプロトコルが登場した。これらのプロトコルは、データの配信をコンセンサスから切り離し、各レプリカが提案者として機能できるようにする。DAG構造を使うことで、より良いスケーラビリティとスループットを実現できる。ただし、既存のDAG-BFTプロトコルはしばしば高遅延を伴い、リアルタイムアプリケーションにはあまり適さない。
DAG-BFTプロトコルの構造
DAG内では、各ノードがトランザクションを表し、エッジがトランザクション間の関係(因果関係など)を表す。レプリカが新しいトランザクションのバッチを提案すると、DAGにノードが追加される。トランザクションがコミットされたと見なされるためには、コミットされたアンカーノードによって参照される必要がある。この設計により、スループットを増やすために重要な並行かつ応答性のあるデータ配信レイヤーが可能になる。
DAG-BFTプロトコルの遅延問題
利点があるにも関わらず、DAG-BFTプロトコルは現在、遅延の問題で妨げられている。平均して、トランザクションをコミットするのに10回以上のメッセージ交換が必要。効率が欠けていることが、多くの現代アプリケーションが求めるリアルタイム機能を損なう可能性がある。
遅延の要素分析
DAG-BFTプロトコルの総遅延は、次の3つの主要な要素に分解できる:
- キューイング遅延:これは、トランザクションが提案に含まれる前に待つ時間。提案がミスると、次のラウンドを待つことになる。
- アンカリング遅延:これは、トランザクションがコミットされたアンカーによって参照されるのを待つ時間。アンカー候補の頻度がこの遅延に影響を与える。
- アンカーコミット遅延:これは、アンカープロポーザルとその関連トランザクションをコミットするのにかかる時間。
遅延を減らすためのアプローチ
これらの遅延問題に対処するために、DAG-BFTプロトコルでのトランザクションコミットプロセスを簡素化するいくつかの技術を実装できる。
アンカーコミットルールの最適化
アンカーコミット遅延を減少させるための基本的なアプローチは、アンカーがトランザクションをコミットできるタイミングを定めるルールを改善すること。特定の条件が満たされたとき(たとえば、複数の認証されていないノードがアンカーにリンクする場合)に、より速くコミットを許可することで、遅延を減らすことができる。
アンカーの数を増やす
もう一つの効果的な戦略は、ラウンドごとのアンカーの数を動的に増やすこと。このアプローチは、より多くのノードがアンカーによって参照される機会を持つため、アンカリング遅延を最小限に抑えられ、コミットプロセスが速くなる。
複数のDAGを並行して運用する
3つ目のアプローチは、複数のDAGインスタンスを同時に運用すること。これらのインスタンスをずらして運用することで、トランザクションをより頻繁に提案できるようになる。これにより、従来のシステムで経験するキューイング遅延を軽減し、トランザクションの処理をより効率化する。
パフォーマンス評価
これらの改良の効果を判定するために、新しいDAG-BFTプロトコルと既存のシステムを比較するさまざまな実験が行われた。その結果、スループットと遅延の両方で大幅な改善が見られた。
新技術の実装結果
- 最適化されたアンカーコミットルールの使用により、アンカーコミット遅延が短縮され、トランザクションがより早く確定するようになった。
- アンカーの頻度を増やすことで、アンカリング遅延が効果的に減少し、全体のトランザクションコミットのタイムラインが改善された。
- 複数のDAGを並行して運用することで、キューイング遅延が大幅に低下し、着信トランザクションの処理が速くなった。
結論
DAG-BFTプロトコルは、分散システムにおけるスループット向上に大きな可能性を秘めている。遅延を減らしつつスループットを犠牲にしない戦略を実装することで、より効率的なコンセンサスメカニズムが確立できる。この進展は、適切な設計と最適化があれば、BFTシステムにおいて高スループットと低遅延の両方を達成することが現実的に可能であることを示している。
タイトル: Shoal++: High Throughput DAG BFT Can Be Fast!
概要: Today's practical partially synchronous Byzantine Fault Tolerant (BFT) consensus protocols trade off low latency and high throughput. On the one end, traditional BFT protocols such as PBFT and its derivatives optimize for latency. They require, in fault-free executions, only 3 message exchanges to commit, the optimum for BFT consensus. However, this class of protocols typically relies on a single leader, hampering throughput scalability. On the other end, a new class of so-called DAG-BFT protocols demonstrates how to achieve highly scalable throughput by separating data dissemination from consensus, and using every replica as proposer. Unfortunately, existing DAG-BFT protocols pay a steep latency premium, requiring on average 10.5 message exchanges to commit a transactions. This work aims to soften this tension and proposes Shoal++, a novel DAG-based BFT consensus system that offers the throughput of DAGs while reducing commit latency to an average of 4.5 message exchanges. Our empirical findings are encouraging, showing that Shoal++ achieves throughput comparable to state-of-the-art DAG BFT solutions while reducing latency by up to 60%.
著者: Balaji Arun, Zekun Li, Florian Suri-Payer, Sourav Das, Alexander Spiegelman
最終更新: 2024-05-30 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2405.20488
ソースPDF: https://arxiv.org/pdf/2405.20488
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。