Skip to main content
QUICK REVIEW

[論文レビュー] A lightweight BFT consensus protocol for blockchains

Jan Hackfeld|arXiv (Cornell University)|Mar 27, 2019
Distributed systems and fault tolerance参考文献 11被引用数 6
ひとこと要約

この論文では、Liskブロックチェーンにシームレスに統合可能な軽量なバシルト・フォールト・トレラント(BFT)コンセンサスプロトコル、Lisk-Bftを提案する。このプロトコルは、1/3未満のバシルト・バリデーターが故障している場合に安全を保証し、1/3未満のクラッシュ障害が発生している場合にライブネスを保証する。コンセンサス情報をブロックに2つの追加整数のみでエンコードすることで、追加メッセージを回避し、フォークフル設計によりブロック提案とコンセンサスの進行を独立して行えるようにし、最終性を実現する。

ABSTRACT

We present a general consensus framework that allows to easily introduce a customizable Byzantine fault tolerant consensus algorithm to an existing (Delegated) Proof-of-Stake blockchain. We prove the safety of the protocol under the assumption that less than 1/3 of the validators are Byzantine. The framework further allows for consensus participants to choose subjective decision thresholds in order to obtain safety even in the case of a larger proportion of Byzantine validators. Moreover, the liveness of the protocol is shown if less than 1/3 of the validators crash. Based on the framework, we introduce Lisk-BFT, a Byzantine fault tolerant consensus algorithm for the Lisk ecosystem. Lisk-BFT integrates with the existing block proposal mechanism, requires only two additional integers in blocks and no additional messages. The protocol is simple and provides safety in the case of static validators if less than 1/3 of the validators are Byzantine. For the case of dynamically changing validators, we prove the safety of the protocol assuming a bound on the number of Byzantine validators and the number of honest validators that can change at one time. We further show the liveness of the Lisk-BFT protocol for less than 1/3 crashing validators.

研究の動機と目的

  • 既存の(委任型)プルーフ・オブ・ステークブロックチェーンに容易に統合可能なバシルト・フォールト・トレラントコンセンサスプロトコルを設計すること。
  • 1/3を超えるバリデーターがバシルトである場合でも、主観的な意思決定閾値を許容することで、安全を保証すること。
  • 1/3未満のクラッシュ障害が発生している場合にライブネスを維持し、部分的に同期的なネットワークでも耐障害性を保つこと。
  • コンセンサス情報をブロックに直接エンコードすることで、追加メッセージを排除し、通信オーバーヘッドを最小限に抑えること。
  • さまざまなブロックチェーンシステムに適用可能な一般化されたコンセンサスフレームワークを提供し、安全・ライブネス保証をカスタマイズ可能にすること。

提案手法

  • プロトコルはフォークフル設計を採用しており、ブロック提案とコンセンサス意思決定を独立して行えるようにすることで、遅延と通信オーバーヘッドを低減する。
  • 定義4.1で導入される変換メカニズムにより、誠実なバリデーターが生成したブロックが、ブロック高とタイミングに基づいて暗黙のPre-voteおよびPre-commitにマッピングされる。
  • コンセンサスは意思決定閾値メカニズムによって達成される:バリデーターは、チェーン内のバリデーター加重の2/3を超える割合でPre-commitを観測した場合に、ブロックを最終化する。
  • プロトコルはラウンドロビン方式のブロック提案メカニズムを仮定しており、最終化後、連続するブロック数がバリデーター集合サイズの3倍以下である必要がある。
  • 安全は、バリデーターの1/3未満がバシルトであると仮定して証明され、ライブネスはバリデーターの1/3未満がクラッシュしている場合に成立する。
  • 最終性はρ個の連続ブロックのチェーンによって達成され、ρ ≥ 3|V_B|を満たすことで、誠実なバリデーターがPre-voteおよびPre-commit段階でブロックを生成することを保証する。

実験結果

リサーチクエスチョン

  • RQ1最小限の通信オーバーヘッドで強力な安全・ライブネス保証を維持しつつ、BFTコンセンサスプロトコルを設計できるか?
  • RQ2追加メッセージを必要とせずに、フォークフルコンセンサスモデルで最終性をどのように達成できるか?
  • RQ3バシルトバリデーター数が1/3を超える状況下で、バリデーターが主観的決定閾値を用いる場合、どのような条件下で安全が保証されるか?
  • RQ41/3未満のバリデーターがクラッシュ障害を起こす状況下でも、プロトコルがどのようにライブネスを維持できるか?
  • RQ5ブロックチェーンシステムに適用可能な、カスタマイズ可能な安全・ライブネス特性を備えた一般化されたコンセンサスフレームワークを構築できるか?

主な発見

  • Lisk-Bftは、バリデーターの1/3未満がバシルトである場合に安全を保証し、1/3未満のバリデーターがクラッシュしている場合にライブネスが成立する。
  • プロトコルはρ個の連続ブロック後、ρ ≥ 3|V_B|で最終性を達成し、チェーン内のバリデーター加重の2/3を超える割合でPre-commitが観測された場合に最終性が発動する。
  • 最終化は、ブロックB^(1)がρ個のブロックに先行しており、かつ、加重の2/3を超える割合の誠実なバリデーターが最初のj個および最後のρ−j個のブロック内で少なくとも1つのブロックを生成した場合に発生する。
  • プロトコルは、ブロック1つあたり2つの追加整数のみでコンセンサス状態をエンコードするため、追加メッセージの必要がない。
  • 任意の誠実なバリデーターが、決定閾値τ_V ∈ (1/3, 2/3] を満たす場合、チェーン内の加重の2/3を超えるバリデーター集合から十分なPre-commitを観測した段階で、ブロックB^(1)を最終化できる。
  • 一般化されたコンセンサスフレームワークにより、カスタマイズ可能な安全閾値を提供でき、集約署名を組み込むことでさらに通信オーバーヘッドを削減できる。

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

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

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

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