パイプラインコンセンサス
イーサリアムなどの従来のブロックチェーンシステムでは、ブロック生成プロセスはいくつかのステップで構成されています:
- マイナー(ブロック提案者)がトランザクションをパッケージ化して実行します。
- マイナーは実行結果をブロックヘッダーに設定します。
- ブロックの伝播。
- 他のノードがブロック内のトランザクションを実行します。
- そしてブロックの実行結果を検証します。
トランザクションがパッケージ化されてからネットワーク全体のコンセンサスに達するまでに、2回の直列実行と直列伝播プロセスを経ることがわかります。これには多くの最適化の余地があります。ブロックの構造をより詳しく見ると、一連のトランザクションと実行結果に関連するさまざまなマークルルートが含まれています。トランザクションリストは主にトランザクション実行の順序を表し、ブロックヘッダーはブロック実行の結果と見なすことができます。これら2つのコンセンサスをトランザクションシーケンスコンセンサスと実行結果コンセンサスに分離することを検討できます。
図4に示すように、コンセンサス中のブロックをブロックNとすると、BFTプロセスはブロックNの全内容に同意するのではなく、ブロックNのトランザクションリストと特定のメタデータ、およびブロックN-2のブロックハッシュに同意します。BFTプロセスが完了すると、ブロックN+1のコンセンサスが進行し、同時にブロックNが実行されます。さらに、ブロックNにはブロックN-2のハッシュが含まれているため、ブロックNのコンセンサスの完了は、ブロックN-2の確認も意味します。

図4:BFT、実行、検証のパイプライン処理。