HotStuffベースの新しいコンセンサスプロトコルであるConcordiumBFTを実装
コンコーディアムがHotStuffベースの新しいコンセンサスプロトコルであるConcordiumBFTを実装します。ノードのネットワークにおけるイベントの順序についての合意達成のために使用され、特にブロックチェーンシステムに適しています。HotStuffは、「ビザンチンフォールトトレランス」(BFT)アルゴリズムとして知られるコンセンサスアルゴリズムの一種に基づいており、他のBFTアルゴリズムと比較して、より高速で効率的な性能を提供することが示されています。
ConcordiumBFTとは何?
ConcordiumBFTは、HotStuffコンセンサスプロトコルをベースにしています。高可用性、高速性、安全性の高い分散システムをサポートするために設計されています。これは、ノードのネットワークにおけるイベントの順序についての合意達成のために使用され、特にブロックチェーンシステムに適しています。HotStuffは、「ビザンチンフォールトトレランス」(BFT)アルゴリズムとして知られるコンセンサスアルゴリズムの一種に基づいており、他のBFTアルゴリズムと比較して、より高速で効率的な性能を提供することが示されています。
Proof of stakeに基づく抽選システム(検証可能なランダム関数)により、ベイカーのリストが作成される。ベイカーのステークが高いほど、より頻繁にリスト上に出現する確率が高くなります。
リストの最初のベイカー(BOB)は、ジェネシスブロックに追加する新しいブロックを作成します。
BOBはそのブロックをファイナライザーにブロードキャストします。
ブロックが有効であれば、ファイナライザーはそれに署名します。
ブロックに署名したファイナライザーのステークの合計が⅔を超えると、そのブロックは有効なブロックであることを証明するQuorum Certificate (QC)を取得します。
次のベーカー(ALICE)は、次のブロックを作るためにQCを必要とします。ここで、設計上、新しいブロックは、QCがALICEに提示された前のブロックを拡張するだけであることに注意してください。したがって、ナカモト式コンセンサス設計の場合のようなフォーク形成の問題はありません。
問題がなければ、プロトコルはこのステップ3からのプロセスを繰り返し実行します。ここまでは順調です。HotStuff コンセンサスの設計はシンプルに見えます。ただし、RAW形式のプロトコルが完全に壊れてしまう複雑な問題が 1 つあります。それは、ブロックを生成しない、または無効なブロックを生成する不完全なベイカーです。失敗したベーカーのシナリオは、タイムアウト メカニズムによって処理されます。BOBが特定の時間内にブロックを生成しない場合、プロセスを進めるためにタイムアウト証明書 (TC) が発行されます。 ALICEはQCの代わりにTCを使用して前のブロックを拡張できます。