ビットコインについて調べていると、専門的なサイトではよく「ビザンチン将軍問題」というワードが出てきます。
そこで、本日は「ビザンチン将軍問題」とは何か?についてわかりやすく記事にします。
ビザンチン将軍問題とは?
ビザンチン将軍問題とは、別名で「ビザンチン障害」といい、米国の博士のレスリー・ランポート氏によって提唱されたネット上での意思決定方法の問題の名前です。
すなわち、「ビザンチン将軍問題」とは、信頼性や悪意がある場合、ネットワーク全体で1つの意思決定ができないという問題です。
ビザンチン将軍問題について【図解】
ビサンチン将軍問題は、かつてローマに存在したビサンチン帝国の将軍の取り決め方法から名づけられています。
仮にビザンチン帝国の将軍を「かにたま」(猫)+将軍4人の合計5人とします。この時の意思決定は5人で決めていきます。奇数なので、多数決であれば意思決定できます。
ある時、将軍5人でA国にビサンチン帝国が攻めかかる事になりました。
ところが、将軍の1人である「かにたま」(猫)がA国のスパイだったのです。
かにたま「実はA国のスパイでした、フフフ、、、」
ある時、将軍同士の意見が攻めるか撤退するか真っ二つに割れているという手紙が伝令から来ました。
その時、A国のスパイの猫「かにたま」はA国を勝たせることができると思いました。
何故でしょう?
理由は、以下の事をすれば勝てると考えたからです。
・攻撃をしようと意見している将軍には「攻める」と伝える。
・撤退しようと意見している将軍には「撤退」と伝える。
すると、攻撃しようと意見した将軍達は多数決で「攻め」と決まったとしてA国に攻めかかり、撤退しようと意見していた将軍は撤退してしまいました。
全員で攻めるつもりが「かにたま(猫)」が嘘をついて違う意見を伝えたため、戦力が半減した状態で攻めかかった将軍達は死亡し、ビサンチン帝国は負けてしまいました。
どうしてこのような事が起こったのかと言いますと、ビサンチン帝国の将軍達は別の所に陣取っており、離れた位置、すなわち手紙で意思決定をしていたからです。
戦国武将などもそうでしたが、戦争中には武将が全員が同じ位置に陣取ることはありません。離れていて確認しようがないからこそ嘘がつけます。
これはインターネット上で離れた位置から意思決定を行う方法と似ており、「ビザンチン将軍問題」という信頼性や悪意がある場合、ネットワーク全体で1つの意思決定ができないという問題になっていました。
ビットコインはビザンチン将軍問題の解決で価値をもたらした?
ビットコインが価値を持った理由として、このビザンチン将軍問題を暗号化の技術「ブロックチェーン」で解決したことで、従来の中央集権的な従来の仕組みなしの価値の取引が可能になったことにあります。
・・・どういうことでしょうか?
ビットコインのブロックチェーンは、全員で取引履歴を確認しあい、正しい取引履歴をひとつに定めることができます。
そして、その改ざんのためには過去の履歴を全ておって莫大な費用をかけて行うことになります。
更にビサンチン将軍のように裏切らずにをせず正しい行動をとったノードに対しては、経済的な報酬(新しいビットコイン)を与えるということで今の所は裏切りが起こっていないわけです。
報酬を与えて裏切りをなくすというシンプルな構造によって、ビサンチン将軍問題のようなことが起こっていないわけです。
一部では、ビサンチン将軍問題の解決によりビットコインは価値をあげたとも言われています。
ビザンチン将軍問題の完全な解決ではない
先ほど、ブロックチェーン技術はビザンチン将軍問題の解決と書きましたが、実は「ブロックチェーンは厳密にはビザンチン将軍問題を解決していません。

先日、記事にしましたが、ETCの51%攻撃が行われたことが挙げられます。
ETCの「二重払い」が起こったということですが、二重払いは同一の仮想通貨を異なる相手に支払うことを指します。
これは、すなわち先ほどのビサンチン将軍問題の「攻め」「撤退」という異なる命令を同時に行ったことと同じであり、二重払いが起こるようでは、ビサンチン将軍問題は完全に解決されていません。
昨年の5月にMONAコインやVergeでも起こりましたが、お金をかけてしまうと短時間であれば51%攻撃が可能な状態です。ネットワークが弱くなると51%攻撃が可能であり、現状ではまだ完全ではないですね。
ただ、常にビサンチン将軍問題が発生する既存のものよりは信頼性や可能性はあると感じています。
ビサンチン将軍問題の耐性アルゴリズムの登場
現在、仮想通貨の中では、このビサンチン将軍問題に耐性のあるアルゴリズムが登場しています。
この耐性のあるアルゴリズムは、「ビザンチン障害耐性アルゴリズム」と呼ばれています。

これらのなかでも特に実用的なものはPBFT(Practical Byzantine Fault Tolerance)とよばれており、アルトコインであるICONなどで実装されています。
コメント