ビザンチン将軍問題とは?その由来と意味を分かりすく解説

「仮想通貨の話によく出てくるビザンチン将軍問題ってなに?」
「ビザンチン将軍問題とビットコインの関係性は?」
「ビザンチン将軍問題もう解決されたの?」

このような疑問や悩みを抱えていませんか?

ビザンチン将軍問題を簡単に説明するとみんなで意見を合わせたい時に、誰かひとりが悪さをすることで意見を合わせることができない問題です。

よくビットコインをはじめとする仮想通貨の中で出てくるワードですので、あなたも一度は耳にしたことはあるのではないでしょうか?

ビザンチン将軍問題を理解すれば、より仮想通貨の仕組みについて知ることができます。

そこで、本記事では初心者の方向けにビザンチン将軍問題の概要やビットコインとの関係性などを解説していきます。

Coincheck

仮想通貨のビザンチン将軍問題とは

Byzantine Generals
ビザンチン将軍問題とは複数人がある特定の選択に対して、全員の合意形成を求めた際に、一部の者が不正を働くことで複数人の間で正しい合意形成ができない問題のことを指します。

仮想通貨トレーダー
もっと簡単にいうと、多数決を取る際に誰か一人が嘘をついて正しい多数決を取らせない問題です。

ビザンチン将軍問題の例に、ビザンチン帝国の話がよく使われています。

代表例:ビザンチン帝国の戦い

はるか昔、ビザンチン帝国の将軍9人が王国Aを攻め落とすために城の周辺を包囲していました。

王国Aに勝利するためには、各方面に待機している将軍全員の一斉攻撃が条件で、どれかひとつでも将軍が率いる部隊が欠けた状態では勝利することはできません。

また、撤退をする際も一部の部隊だけが攻撃することがないように全員で撤退しなくてはなりません。

そのため、ビザンチン帝国の将軍は王国Aに「全員攻撃」するか「全員撤退」するかの判断をするために各方面の将軍に伝令を送り全軍で多数決を取ることにしました。

しかし、ビザンチン帝国の将軍の中には作戦を失敗させたい裏切り者Xが潜んでいます。裏切り者Xを除けば残りの将軍は8人ですので、多数決で「攻撃に4票」「撤退に4票」になれば、裏切り者Xの1票が残ります。

仮想通貨女子
でも、どうやって作戦を失敗させるの?
仮想通貨トレーダー
では、どのように裏切り者Xが作戦を失敗にさせるかについて具体的に見ていきましょう。

裏切り者Xは「攻撃」に票を入れた将軍には「撤退」、「撤退」に票を入れた将軍には「攻撃」と書いた紙を伝令に渡したのです。

その結果、「攻撃」に票を入れた軍は多数決で「全員撤退」と判断し、「撤退」に票を入れた将軍は多数決で「全軍攻撃」と判断してしまいます。

仮想通貨女子
ほんとだ!多数決の結果が操作されてる!
仮想通貨トレーダー
つまり、ビザンチン帝国の将軍のように各方面に将軍が分散した状態では、全員の意思を正しく収集して全員一致の合意を取ることが難しいというわけです。

このように、ビザンチン将軍問題が原因で発生する障害のことを「ビザンチン障害」と言います。

コンピュータのビザンチン将軍問題

コンピュータのネットワークでもビザンチン将軍問題を引き起こす可能性があります。

実際に、2008年には大手オンラインストレージサービスでビザンチン障害が発生し、サービスのサーバーダウンを引き起こしています。

従来のネットワークは中央に管理機関が存在しており、ビザンチン将軍問題が起こることはありませんでした。

仮想通貨女子
なんで、中央に管理機関があるとビザンチン将軍問題が発生しないの?
仮想通貨トレーダー
ビザンチン帝国の例で考えると、各方面に散らばった将軍が伝令で多数決を取っていました。しかし、中央に管理機関があれば伝令ではなく一堂に会して意見交換を行う状態であったため、意見の相違や不正を防ぐことができます。

しかし、その後は中央に管理機関のあるネットワークから、複数のコンピュータが繋がり合う分散型のコンピュータが主流になり、ビザンチン将軍問題が問題視されるようになりました。

仮想通貨トレーダー
1980年代ごろのコンピュータは、故障や外部からの不正などをどのように克服していくかが大きな課題でした。

ビットコインのビザンチン将軍問題

実はビットコインのネットワークも中央に管理機関が存在しない分散型ネットワークが採用されています。

分散型ネットワークではネットワークに繋がったコンピュータ(ノード)は、各方面に散らばった将軍達と同じ状況にあり、他のコンピュータとの通信はできるものの中央で通信をまとめる管理機関は存在しません。

仮想通貨女子
中央に管理機関が存在しない分散型ネットワークであることは従来のネットワークと同じで、ビットコインを利用することでビザンチン将軍問題を解決するってこと?
仮想通貨トレーダー
はい、その通りです。ビットコインがどのようにしてビザンチン将軍問題を解決しているのかがここからのポイントになりますよ。

ビットコインは決済システムですので正しく取引データを処理しなくてはなりません。そのため、取引データが正しく処理されなければ決済システムとしての実用化は難しいといえます。

例えば、コンピュータAがコンピュータBには「Aさんに10BTC送金した」と通知し、コンピュータCには「Bさんに10BTC送金した」と通知した場合、10BTC送金したという取引データが重複して記録され、ビットコインの残高に不整合が生まれます。

仮想通貨トレーダー
では、ビットコインはどのようにして取引データが正しく処理されるように対策されたのでしょうか?

ビットコインのPoW(プルーフオブワーク)

ビットコインのビザンチン将軍問題を解決する仕組みは、ビットコインで採用されているコンセンサスアルゴリズム(承認方式)のPoW(Proof of Work)です。

PoWを利用すれば悪意のあるノードからのデータの改ざんを防ぐことができ、取引記録を正しく処理することが可能です。

ビットコインの取引が行われると取引情報はブロックと呼ばれる取引情報の集合体に集約され、マイニングを通してブロックチェーンに繋がれていきます。

PoWの特徴でもあるマイニングでは膨大な計算作業を通して、取引記録が正当であるかどうかが検証されます。また、非常に厳しい検証作業が行われるため不正を行うことは不可能に近いとされています。

こうして、ビットコインは分散型ネットワークでありながらPoWを採用することでセキュリティ対策を施しています。

PoWの51%攻撃のリスク

ビットコインの承認方式PoWでは、取引情報の正当性を確認するために複数のノードに合意を取ります。しかし、ビットコインには全体の51%以上の承認を得た場合、その取引は承認されるという決まりがあります。

そのため、もし不正が行われ、間違った計算結果であったとしても正当なデータとしてみなされ、ブロックチェーンに記録される可能性があります。この問題を「51%攻撃」と言います。

仮想通貨トレーダー
現実的には、マイニングのための設備費用や電気代、膨大な計算作業のことを考慮すると、51%攻撃が起こる可能性は低いと言われています。

ビザンチン将軍問題は完全に解決されたわけではない

ビットコインのビザンチン将軍問題は100%解決されたわけではありません。正確には「ビザンチン将軍問題が発生する可能性を限りなく0%近づけた」と解釈することが適切です。

仮想通貨女子
なんで?
仮想通貨トレーダー
ビットコインのPoWはあくまで多数決型の承認システムであり、悪意のある第三者からの攻撃でセキュリティの穴をつかれる可能性がゼロではないためです。

まとめ

・ビザンチン将軍問題とは複数人がある特定の選択に対して、全員の合意形成を求めた際に、一部の者が不正を働くことで複数人の間で正しい合意形成ができない問題である。
・ビットコインは従来の分散型ネットワークの脆弱性をPoWで解決した。
・ビットコインのビザンチン将軍問題は100%解決されたわけではない。
・PoWではマイニングと呼ばれる計算作業を通して取引の承認作業を行う。
ビザンチン将軍の概要や仕組みについて解説しましたが、参考にしていただけましたでしょうか?

ビザンチン将軍問題はビットコインをはじめとする仮想通貨の記事で度々話題に出てきます。

そのため、ビザンチン将軍問題が何であるかを理解できていればより深く情報を読み解くことができるでしょう。