ビザンチン将軍問題とは?<初心者向け記事>

初心者ファイル
Pocket

暗号資産初心者向けの記事です。本記事ではビザンチン将軍問題についてわかりやすく解説していきます。

はじめに

みなさんはブロックチェーンネットワークに潜む「ビザンチン将軍問題」について聞いたことはありますか?

人間心理にある裏切りが取引を脅かす、ビザンチン将軍問題とはどういう問題なのかについて今回は解説していきます。

ビザンチン将軍問題って?

ビザンチン将軍問題とは、世界史上の集団の中の裏切り行為を例にとったネットワーク上の不正やエラーを意味します。

歴史上のビザンチン将軍問題

まずは根本的な歴史上のビザンチン問題について解説しますね。

ビザンチン帝国とは4世紀以降にヨーロッパで栄えた帝国のことです。帝国軍の9名の将軍があるとき、別の都市を攻め落とすためにそれぞれ部隊を率いて包囲していました。

9つの部隊はそれぞれ離れた位置に陣取って包囲網をしいています。しかし戦況が拮抗したことで、9名の将軍は全軍協力して一⻫に攻撃するのか、1度全軍で撤退して別の作戦を練り直すのか、相談・合意して決めなければならなくなりました。これは国の存続に関わる重要な決断であった為、等しい地位にある9名の将軍は多数決でこれを決めることにしました。

大昔のため離れた場所で意思疎通をするには伝令を飛ばす必要があります。そこで各部隊の将軍は部下の伝令を他の部隊へ送り、攻撃か撤退かの自軍の意思表示を伝えることにするのです。

将軍は全部で9名と奇数ですので皆が正しく多数決に参加すれば、全軍の意思統一が無事に多数決により決まることになります。しかしながら最後に投票する将軍は、実はビザンチン帝国に以前から恨みを持つ将軍でした。その将軍は自分が投票する前の他の将軍の投票結果が、ちょうど半分ずつに分かれたことを伝令から聞きました。そこでこのチャンスを利用して、なんとかビザンチン帝国軍を敗北に追いやってやろうという考えを持ちます。

将軍は半分である4人の将軍には撤退の意思表示を伝え、残りの4人の将軍には攻撃の意思表示を伝えました。
攻撃を信じた4人の将軍が自分の軍を動かしても戦力が拮抗しているため、人数にかけるビザンチン軍は敗北してしまいます。これが歴史上のビザンチン将軍問題です。

ネットワーク上のビザンチン将軍問題とは

ネットワーク上のビザンチン将軍問題は、1980年に分散ネットワークシステムの著名な研究者であるランポート氏らが提唱した物です。

ブロックチェーンネットワークも、誰かひとり全体を監視して皆の意思統一をはかることができる中央管理者がいない状況において、誰か嘘の情報を伝達する裏切り者がいると、全体で正しく適切なコンセンサスを形成することが不可能になります。

したがってネットワーク上のビザンチン将軍問題とは、ノード上で複数の参加者によって形成された集団において、意思決定をする際に一部の参加者が裏切り不正行為をしたりエラーを引き起こしたとしても、正しく合意形成できるのかという問いかけのことをいうようになりました。これがネットワーク上のビザンチン将軍問題です。

ブロックチェーンにおける「ビザンチン障害」対策

ブロックチェーンがすぐれている点の1つとして、このような「ビザンチン障害」を回避する仕組みが、すでに技術の中に組み込まれているということが挙げられます。

具体的にはブロックチェーンのフレームワークごとに定められている「新しい情報を追加するためのルール」にポイントがあります。

そのルールは「分散型合意形成アルゴリズム」と呼ばれ、処理スピードやコスト面などでのメリットとデメリットが異なる複数の種類のコンセンサス・アルゴリズムが発明されています。

構築するシステムの規模などによって適したコンセンサス・アルゴリズムは異なるため、現時点では「これが絶対に1番良い!」と言われるものは存在していないものの、最も有名と思われるのは「ビットコイン」で採用されている「プルーフ・オブ・ワーク」というコンセンサス・アルゴリズムでしょう。

最後に

本記事ではビザンチン将軍問題について解説してきました。

ブロックチェーンのメカニズムは、ビザンチン将軍問題におけるデータ改ざんや通信障害といったことを行う「不誠実な将軍」がいても、すでにシステムが組み込まれています。ブロックチェーンの技術から発展し、様々な分散システムにおけるビザンチン将軍問題が解決されるようになり、将来的にはビザンチン将軍問題に対する新しい解法につながるかもしれません。