ビザンチン将軍問題とは
ビザンチン将軍問題とは、ビザンチンフォールトトレランスの訳になり、元々はコンピュータ科学者であるレスリー・ランポート氏らによって提唱されました。
この問題は、簡潔に言うと分散型(管理者不在)のネットワークにおいて複数の参加者がいる場合にその中に偽りの情報を伝達し得る可能性が存在することを意味し、その場合にブロックチェーンに関してもどのように正確なデータを確実に伝達するかが鍵となっていました。
ビットコインなどのブロックチェーンでは分散型(管理者不在)のネットワークになっており個々人としては他のコンピュータとやり取りすることはできるものの、全体を統括しているコンピュータはありません。
そのため、悪意のあるハッカーなどの存在やノードが故障することを前提として、管理者不在でもネットワークの安全が保たれるようなシステムを作らなければなりません。
そこでサトシ・ナカモト(ビットコインの創設者)はコンセンサスアルゴリズム(合意形成)にプルーフオブワーク(POW)を導入することで悪意のあるハッカーが攻撃しようとしてもほぼ不可能なシステムを作り上げました。
このPOWはネットワークにおけるデータの信頼性をCPUの仕事量に応じて評価するというアルゴリズムになります。
悪意のあるハッカーがこのネットワークを攻撃しようとした場合、他の参加者のCPUの総和を超えるCPUの仕事量が必要になるため、現実的に考えると不可能になる、ということです。
また、それだけのCPUの仕事量を出せるのであればマイニングを行った方が良いため、改ざんをしようとするメリットがなくなる、というロジックになります。
このロジックを組み込んだことで、ビットコインはビザンチン問題の耐性を持つ世界初のP2P決済システムとなりました。
ビザンチン将軍問題の語源
ビザンチン将軍問題って、名前がとても特徴的ですよね。
これは、過去にあったビザンチン軍によって敵地を攻撃する際に問題となったことを題材に、似たようなことがネットワーク上でも起こり得ることからこの名前が付けられています。
具体的には、ビザンチン軍には将軍が9人おり、敵を攻めようとしていましたが全員が集まって会議をすることができないため手紙によって「攻撃する」か「撤退する」か多数決をとりました。
敵を攻め落とすには「全ての将軍」が「攻撃する」ことに合意して一斉に奇襲をかけるしかないことは明白でした。
そこに裏切者が現れます。
その裏切者は4人に対して「攻撃する」と表明し、他の4人に対して「撤退する」と表明しました。
攻撃すると表明を受けた将軍たちは全軍攻撃と判断し、撤退すると表明を受けた将軍たちは全軍撤退と判断しました。
その結果、「攻撃」と判断した4将軍の部隊は敵地に攻め込むも圧倒的な戦力不足により敗退した、との逸話になっています。
これは分散型のネットワークでも危惧できる問題のため、その「裏切者」に対する対策が練りこまれているというわけです。
~仮想通貨(暗号資産)・ブロックチェーン用語集・意味~