autorenew
ブロックチェーン合意の解読:PBFT vs. Tendermint vs. SBFT vs. HotStuff をわかりやすく解説

ブロックチェーン合意の解読:PBFT vs. Tendermint vs. SBFT vs. HotStuff をわかりやすく解説

2019年、研究者の Ittai Abraham は彼のブログ記事へのリンクを添えた示唆に富むツイートを投稿しました。ブロックチェーン技術、特にミームトークンのような世界に興味があるなら、この内容はまさに金鉱です。これらのプロトコルは多くの分散システムの中核をなしており、一部のノードが不正を働いてもシステム全体が正常に動作することを保証します。ここでは Ittai が オリジナルのツイートブログ記事 で強調した点を、暗号資産の構築や取引に関わる人なら誰でも理解しやすいように解説します。

ミームトークンにとって BFT が重要な理由

Byzantine Fault Tolerance(BFT、ビザンチン障害耐性)は、ネットワーク内の最大3分の1のノードが故障または悪意を持っていても、トランザクションについてネットワーク全体が合意できるようにする仕組みです。Cosmos(Tendermint を使用)や HotStuff に影響を受けた新しいチェーンのようなブロックチェーンが崩壊しないよう支える技術だと考えてください。スピードやスケーラビリティを重視して立ち上がることが多いミームトークンでは、これらのプロトコルを理解することで、過剰な期待の裏にある実際の技術的な強さを見抜く手助けになります。

Ittai は4つの主要プロトコルを比較しています:PBFT(古典)、Tendermint(現代的でゴシップベース)、SBFT(PBFT のスケーラブル版)、そして HotStuff(線形で応答性が高い)。どれか一つが全てに勝るわけではなく、待ち時間、通信量、リーダー交代の扱い方などでトレードオフがあります。

全体像としての類似点

違いを掘り下げる前に、これらのプロトコルは多くの点で似ています:

  • いずれも state machine replication(SMR)を目的として設計されており、複数のコンピュータを同期させて悪意のあるノードがいても同じ順序でコマンドを処理します。
  • 部分同期モデル(partial synchrony)で動作し、常に安全性を保ちつつ、ネットワーク問題が収束した後(GST: Global Stabilization Time)に進行を再開します。
  • それぞれ 3f+1 ノード中最大 f ノードの故障に耐えうるリーダー基盤のアプローチを取り、問題が起きればリーダーを差し替えます。

この土台があるからこそ、企業向けのセットアップからあなたが愛用する犬テーマのトークンをホストするパブリックチェーンまで、これらのプロトコルはブロックチェーン設計の定番になっています。

回転式リーダー vs 安定リーダー:概念的な分かれ道

大きな分岐点の一つは「リーダー」の扱い方です。次のブロックを提案するノードがどう決まるか、という点です。

PBFT や SBFT のようなプロトコルは安定したリーダーを採用します:問題が発生するまで同じリーダーが継続してブロックを処理することが多く、順調なときは効率が上がりますが、一人のリーダーがトランザクションの順序を偏らせるなどの悪意を働きやすいというリスクがあります。

対照的に Tendermint や HotStuff はリーダーを定期的にローテーションします。多くの場合それは各ブロック試行ごとです。これにより公平性が高まり、一人の悪いリーダーが支配するのを防ぎやすくなりますが、ビュー変更(リーダーの差し替え)が頻繁に発生するためオーバーヘッドが増えます。

どちらのスタイルにも他方を模倣する調整は可能ですが、選択は「性能のための安定」か「公平性のための回転」か、というトレードオフになります。ミームトークン界隈では、ラグプルやフロントランニングを防ぐ意味で回転式の方が魅力的に映ることがあります。

通常時の動作:通信と効率

すべてが順調に動いている(正直なリーダー、GST 後)場合、ブロックをどのようにコミットするかはプロトコルごとに違います。

PBFT は全ノード間のメッセージングを使うため通信量が O(n²) になり、大規模ネットワークではボトルネックになり得ます。

Tendermint はゴシッププロトコルでメッセージを伝播させ(通常は O(n log n)、ただし O(n) に最適化可能)、SBFT と HotStuff は最初から線形通信量 O(n) を目指します。線形であることはスケーラビリティの面で有利で、ミームトークンの熱狂的なトランザクション量にも耐えるために重要です。

ビュー変更の仕組み:リーダー差し替えの扱い

リーダーが失敗したりローテーションされたりするとビュー変更が発生します。ここにトレードオフが色濃く現れます。

PBFT と SBFT はビュー変更で O(n²) の通信が必要で、頻繁に発生すると望ましくありません。

Tendermint はビュー変更を O(n) で行える点が革新で、ローテーションが日常的な設計では非常に効率的です。HotStuff もその線形性を満たします。

しかし「応答性(responsiveness)」も重要です:固定タイムアウトに頼らず実際のネットワーク速度に合わせて適応できるか。PBFT、SBFT、HotStuff は応答性があり、ネットワーク速度で前進します。Tendermint はビュー変更でタイムアウトを必要とし、ネットワークが予想より速い場合は遅延が生じる可能性があります。攻撃者はタイムアウトの欠如を突いて進行を停止させることもあり得ます。

ボラティリティの高いネットワーク上で動くミームトークンでは、応答性があればパンプ時に確認が速くなる可能性があります。

以下は記事中の比較表です:

Protocol Best-case Latency Normal-case Communication View-Change Communication View-Change Responsive
PBFT 2 O(n²) O(n²) Yes
Tendermint 2 O(n) (*) O(n) No
SBFT 1 O(n) O(n²) Yes
HotStuff 3 O(n) O(n) Yes

ここでのレイテンシはトランザクションをコミットするまでのラウンドトリップ数です。SBFT のベストケース 1 ラウンドは高速ですが、HotStuff の 3 ラウンドはビュー変更を効率的に扱うための代償です。

スループット向上:パイプライン化と並行処理

ブロック毎秒(BPS)を上げるために:

PBFT と SBFT は並行処理を使います—リーダーが複数のスロットを同時に扱う「TCP ウィンドウ」のような仕組みで、経験的にスループットを高めます。

HotStuff の基本版は順次的ですが、Chained HotStuff はメッセージをパイプライン化(各メッセージが複数スロット分の情報を含む)して、平均して 1 ラウンドあたり 1 ブロックを達成します。コードが簡潔になる点もあり、Casper の考え方と共鳴します。

これらの技術はプロトコルに固有のものではなく、PBFT をパイプライン化したり HotStuff にウィンドウ機構を導入することも可能です。ただし、コミット後の実行(実際にトランザクションを処理する部分)がボトルネックになることが多く、ミームトークンを扱う高 TPS なチェーンではここが重要になります。

ランダム性と将来の改良

ここまでのプロトコルは決定論的ですが、VABA や LibraBFT のようにランダム性を組み込むことで期待ラウンド数を減らし、非同期ネットワークやアダプティブな攻撃に強くすることができます。次世代のミームプラットフォームでは注目に値するアプローチです。

まとめ:ブロックチェーン選択のトレードオフ

Ittai の整理は「完璧なプロトコルはない」ことを示しています。目的に応じて選ぶべきです:低レイテンシを求めるなら SBFT、応答性と線形なビュー変更を重視するなら HotStuff、バランスの取れた古典的アプローチなら PBFT や Tendermint。ミームトークンの開発者や投資家にとって、これらの知識はチェーンの技術的健全性を評価する助けになります。Cosmos はハブで Tendermint を使い、Aptos のような新しいチェーンには HotStuff の影響が見られます。

ブロックチェーンを構築するなら、これらを深掘りして堅牢な設計を目指してください。より理論的な詳細は元の ブログ を参照すると良いでしょう—暗号資産の世界で先んじるための必読資料です。

おすすめ記事