ビザンチン将軍問題とは

カテゴリ glossary

ビザンチン将軍問題とは、P2Pネットワーク上における合意形成問題のことをいいます。

 

中央集権型ネットワークの場合、データの正否はひとつのサーバーが一括で管理します。

しかし、P2Pネットワークの場合、管理者となるサーバーが存在せず、ネットワーク内の全てのホストが互いに監視しあう仕組みを取っています。

このとき、悪意のあるホストがP2Pネットワーク内に存在していた場合、正確なデータ処理ができず、正しい意思決定ができなくなるという事態が起こり得ます。

 

ビザンチン将軍問題という名称は、ヨーロッパに実在したビザンツ帝国の9人の将軍が由来となっています。

敵国を陥落させるためには、9人の将軍が率いる全軍で突入しなければならないという状態の中、攻撃か撤退かの2択を迫られたのです。

しかし、9人の将軍は離れた場所におり、伝令を使って自軍の意思を伝達するという方法を取らざるを得ませんでした。

 

このとき、攻撃すると答えた将軍が4人、撤退と答えた将軍が4人、最後の将軍の判断によって結果が左右される状況が生まれます。

しかしこの時、最後に残った将軍は実は裏切り者で、この作戦を失敗させようと画策します。

最後の将軍がとった行動は、攻撃すると答えた将軍には撤退と伝え、撤退すると答えた将軍には攻撃すると伝えたのです。結果として、裏切り者の将軍の思惑通りにビザンツ帝国は戦力が不足し敗戦に追い込まれてしまいます。

 

このように、中央集権型ではない管理者が不在の状態で合意形成を図るとき、悪意のある者が存在していると適切な合意形成がなされない可能性が生じます。

ビットコインの技術であるブロックチェーンにおいても同様の懸念がありますが、ビットコインの場合はPoW(Proof Of Work:プルーフ・オブ・ワーク)という技術によってビザンチン将軍問題を解決しています。

 

PoWはいち早くブロックの計算を行ったホストに対して報酬が支払われる仕組み(マイニング)を採用していますが、ビザンチン将軍問題のように誤った情報を流そうとすると、すでに正しい処理が行われた結果を書き換える必要があります。

この上書き処理は過半数となる51%のブロックに対して行う必要があり、これには極めて膨大な時間とコストを要します。

そのようなコストをかけるよりも、正規の方法でPoWによる報酬を得るほうがメリットが多いため、ブロックチェーンに対するビザンチン将軍問題はほぼ起こり得ないと考えることができます。

投稿者

Liquid編集部(基礎)