Skip to main content
QUICK REVIEW

[論文レビュー] Correctness Analysis of IBFT

Roberto Saltini, Hyland-Wood, David|arXiv (Cornell University)|Jan 22, 2019
Distributed systems and fault tolerance参考文献 21被引用数 14
ひとこと要約

この論文は、イスタンブール・ビザンチン故障耐性(IBFT)コンセンサスプロトコルを形式的に分析し、最終的に同期的ネットワークモデル下での永続性およびラビニティ保証に深刻な欠陥が存在することを特定した。本稿では、PBFTおよびTendermintにインspiredされた2つのプロトコル改変を提案し、プライベートおよびコンsortiumブロックチェーンにおけるビザンチン故障耐性の永続性およびラビニティを回復させ、正しい最終性を保証する。

ABSTRACT

In this paper we analyse the correctness of Istanbul BFT (IBFT), which is a Byzantine-fault-tolerant (BFT) proof-of-authority (PoA) blockchain consensus protocol that ensures immediate finality. We show that the IBFT protocol does not guarantee Byzantine-fault-tolerant consistency and liveness when operating in an eventually synchronous network, and we propose modifications to the protocol to ensure both Byzantine-fault-tolerant consistency and liveness in eventually synchronous settings.

研究の動機と目的

  • 分散環境下におけるIBFTコンセンサスプロトコルの正しさを形式的に検証すること。
  • 最終的に同期的ネットワークモデル下でのIBFTの永続性およびラビニティ保証における障害を特定・分析すること。
  • IBFTにおけるビザンチン故障耐性の永続性およびラビニティを回復させるプロトコル改変を提案すること。
  • PBFTに類似したアーキテクチャとTendermintに類似したアーキテクチャの2つの異なる手法を比較し、IBFTの故障耐性を向上させること。
  • 生産環境におけるプライベートおよびコンsortiumブロックチェーンネットワークで正しい最終性を保証する、形式的に検証可能で実装可能なIBFTの変更を提供すること。

提案手法

  • プロセス代数表記を用いたIBFTの形式的モデリングにより、プロトコル動作およびメッセージフローを明確に定義する。
  • ネットワーク遅延やビザンチンプロポーザーが存在する状況下で、IBFTが一貫性(永続性)を維持できない、または進行(ラビニティ)が保証されない障害シナリオの特定。
  • 拡張されたPre-Prepareメッセージにロックされたラウンド値を含め、再ロックロジックを導入するPBFTに類似した解決策の提案により、ラビニティおよび最終性の向上。
  • 再ロックメカニズムに基づくTendermintに類似した解決策の設計。バリデータは、一致するロックされたラウンドを持つQuorumのPrepareメッセージおよびPre-Prepareメッセージを用いて、より高いラウンドに再ロックできる。
  • ビザンチン故障耐性の永続性を保証するための5つのプロトコル改変の規定。メッセージ検証および状態追跡の強化を含む。
  • 通信効率、ラウンドトリップ性能、プロポーザー障害またはネットワーク遅延に対する耐性の観点から、2つの解決策の比較。

実験結果

リサーチクエスチョン

  • RQ1IBFTは、最終的に同期的ネットワークモデル下で、ビザンチン故障耐性の永続性を保証するか?
  • RQ2IBFTは、最終的に同期的ネットワークモデル下で、フェイルストップ障害が発生する場合でも、ビザンチン故障耐性のラビニティを保証するか?
  • RQ3IBFTプロトコルは、最終的同期性下で永続性およびラビニティの両方を保証するように改変可能か?
  • RQ4PBFTにインスパイアされた改変とTendermintにインスパイアされた改変は、パフォーマンスおよび正しさの観点でどのように比較できるか?
  • RQ5既存の実装と後方互換性を保ちつつ、IBFTにおける故障耐性を回復させるために、具体的にどのようなプロトコル変更が必要か?

主な発見

  • IBFTは、最終的に同期的ネットワークモデル下で、ビザンチン故障耐性の永続性を保証しない。これは、誠実なノードがブロックチェーンの状態で分岐する可能性があることを意味する。
  • IBFTは、最終的に同期的ネットワークモデル下で、フェイルストップ障害が発生する場合でも、ビザンチン故障耐性のラビニティを保証しない。これは、メッセージ遅延およびプロポーザー障害によるものである。
  • PBFTに類似した解決策は、現在のプロポーザーが誠実で、メッセージがラウンドタイマー内に届けば、1ラウンドで意思決定を達成できる。これは最適な条件下でのラビニティ向上を示す。
  • Tendermintに類似した解決策は、ラウンド変更時の全体的な帯域幅使用量をPBFTに類似したアプローチよりも削減し、高遅延環境におけるスケーラビリティに優れる。
  • PBFTに類似した解決策は、ビザンチンバリデータが存在せず、ネットワーク遅延がラウンドタイマーを上回る場合、2回の通信フェーズ(Pre-PrepareおよびPrepare)で最終化を達成できる。
  • 提案された改変、特にロックされたラウンドの追跡を伴う再ロックメカニズムは、ラビニティの回復および無限のコンセンサス停止の防止に不可欠である。

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

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

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

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