【初心者向け】仮想通貨の『ビザンチン将軍問題』ってなに?
ビザンチン将軍問題とは、中央の管理システムが存在しない分散化されたコンピューターネットワークを前提として、その中に悪意を持った存在がいる状態で、全体で正しい結果を形成できるのか?という問題のことを指します。
もともとは中世ヨーロッパ時代のビザンチン帝国で起きた話が起源となっています。
この帝国の9名の将軍達が、ある都市を攻め落とすために周りを包囲している状態でした。
攻め落とすためには9つの部隊が一斉に攻撃をすることが必須で、1部隊でも欠けた場合は敗戦になってしまうという状況の中で、その中の1人に裏切り者が存在していました。
作戦は各将軍の多数決で判断される事になっていて、この作戦の実行するために、各将軍に「作戦の実行(攻撃)」or「撤退」という意思を伝達する必要があったのですが、当時は同時に連絡を伝える手段がなかったため、各将軍にそれぞれ意思を伝える必要がありました。
各将軍に他の将軍からの意思が届きました。
そして、その裏切り者に届いた結果は「撤退」が4、「攻撃」が4といった真っ二つの意見でした。
そこで裏切り者は、
- 「撤退」を表明している将軍には「撤退」
- 「攻撃」を表明している将軍には「攻撃」
と伝えました。
「撤退」を表明していた将軍は多数決で「撤退」が決まったと思い、「攻撃」を表明していた将軍は作戦が「攻撃」すると決まったと思い作戦に移します。
しかし、案の定、実際に「攻撃」に入ったのは4部隊しか存在せず敗戦という結果に終わってしまいました。
ビットコインとビザンチン将軍問題
ここで話を現実に戻すと、ビットコインは上記のように中央管理が無い分散型ネットワークを使用しているため、同様の問題が懸念されます。
しかし、ビットコインではこの問題を解決するためにPoW(Proof of Work)というコンセンサスアルゴリズムを導入することでビザンチン将軍問題を解決することができたのです。
このコンセンサスアルゴリズムのおかげで、仮にネットワーク内に悪意のある存在がいたとしても、「取引データは正しい」という裏が取れるようになっています。