Skip to main content
QUICK REVIEW

[論文レビュー] YAC: BFT Consensus Algorithm for Blockchain

Fedor Muratov, Andrei Lebedev|arXiv (Cornell University)|Sep 3, 2018
Distributed systems and fault tolerance参考文献 19被引用数 19
ひとこと要約

YACは、ブロックチェーンシステム向けに設計された画期的なビザンチンフォールトトレラント(BFT)コンセンサスアルゴリズムであり、PBFTのような古典的BFTプロトコルと比較して、ブロック提案に対するモジュラーで投票ベースのアプローチを用いることでスケーラビリティと効率性を向上させている。3f+1のピアネットワークにおいて、f未満の不正なピアが存在する場合に安全でライブネスを保証し、投票ステップ遅延をネットワークサイズに応じて調整することで、64ピアにまでスケーリング可能な実験で高いスループットと低レイテンシを達成した。

ABSTRACT

Consensus in decentralized systems that asynchronously receive events and which are subject to Byzantine faults is a common problem with many real-life applications. Advances in decentralized systems, such as distributed ledger (i.e., blockchain) technology, has only increased the importance of finding performant and secure solutions to consensus of state machine replication in decentralized systems. YAC is a practical decentralized consensus algorithm, that solves the problems of inefficient message passing and strong leaders that occur in classical Byzantine fault tolerant consensus algorithms. The algorithm is open source and currently is used to provide Byzantine fault tolerant consensus for the Hyperledger Iroha blockchain project. We provide proofs of safety and liveness, as well as empirical results showing that our algorithm can scale to dozens of validating peers.

研究の動機と目的

  • PBFTのような古典的BFTコンセンサスアルゴリズムに見られるメッセージ伝送の非効率性と強いリーダー依存性を是正すること。
  • 改ざんや政治的抵抗に耐えるブロックチェーンシステムに適した実用的でモジュラーなBFTコンセンサスアルゴリズムを設計すること。
  • ビザンチンフォールト仮定下での安全性和とライブネスの形式的証明を提供すること。
  • Hyperledger Irohaを用いた実世界の展開において、スケーラビリティとパフォーマンスを実証的に評価すること。
  • スループットとコンセンサスの安定性のバランスを取るために、さまざまなネットワークサイズで最適な投票ステップ遅延設定を同定すること。

提案手法

  • YACは、ブロック提案に対する投票メカニズムを用い、ピアが十分な数の一致する投票を受信した後に提案をコミットする。
  • アルゴリズムは、提案、投票、コミットという明確に分離されたフェーズを有するモジュラーアーキテクチャで動作し、決定論的最終性を保証する。
  • ピアが提案を受信・検証する時間的余裕を確保するため、可変な投票ステップ遅延を採用し、ネットワークの不整合を低減する。
  • f未満のピアが不正でない限り安全を保証し、ネットワークが接続状態でピアがプロトコルに従う限りライブネスを保証する。
  • コンセンサスは、1つの提案に対して2f+1個の一致する投票を受信した時点で成立し、誠実なピア間での合意を保証する。
  • 実装はオープンソースであり、DockerとPostgreSQLを用いて状態永続化を実現したHyperledger Irohaに統合されている。

実験結果

リサーチクエスチョン

  • RQ1ブロックチェーンシステムにおいて、メッセージオーバーヘッドを低減し、強いリーダー依存性を排除できるBFTコンセンサスアルゴリズムを設計できるか?
  • RQ2地理的に分散したピアネットワークにおいて、投票ステップ遅延はコンセンサスの安定性とシステムスループットにどのように影響するか?
  • RQ3スループットを最大化しつつコンセンサスを安定化させるために、異なるネットワークサイズで最適な投票ステップ遅延設定は何か?
  • RQ4YACは、数十人の検証ピアにまでスケーリング可能であり、安全性和とライブネスを維持できるか?
  • RQ5実世界の展開において、YACはPBFTやZyzzyvaと比較して、レイテンシ、スループット、フォールトトレラント性の点でどのように異なるか?

主な発見

  • 4ピアネットワークでは、1msの投票ステップ遅延が中央値スループットを最高にしたが、タイミング制約のため最小限のフォールトトレラランスであった。
  • 16ピアネットワークでは、1msの遅延も依然として最適なスループットを達成したが、ピア数の増加に伴いコンセンサスの安定性がわずかに低下した。
  • 28および64ピアでは、20msの投票ステップ遅延が最適であった。1msの設定と比較して、ピアの故障数はそれぞれ15から3、10から3に減少した。
  • 500msの遅延では、すべてのネットワークサイズでピアの故障が完全に排除されたが、スループットが著しく低下した。
  • 投票ステップ遅延を20msに調整した場合、64ピアで安定したコンセンサスと高いスループットを達成した。これにより、スケーラビリティが実証された。
  • 実証的結果から、遅延パラメータを適切に設定すれば、YACは数十人の検証ピアにまでスケーリング可能であり、低レイテンシと高いスループットを実現できることが示された。

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

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

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

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