02.ビザンチン将軍問題とは?

ビザンチン将軍問題とは、ビザンチン帝国というヨーロッパの帝国における、集団の中の裏切り行為を例にとった、ネットワーク上の不正やエラーのことをいいます。

~~~~~~~~~~~~~~~~~~~~~~

はるか昔、ビザンチン帝国という国がありました。

この帝国軍の9名の将軍が、別の都市Aを攻め落とすために、部隊を率いて包囲していました。
ビザンチン帝国と都市Aの戦力は拮抗中。
攻め落とすためには、9名の将軍は、
① 全軍協力して一斉に攻撃する
② 一度全軍撤退して作戦を練り直す
この、2択しかありません。

もちろん電話も・メールもない時代。
各将軍は、伝令兵に攻撃か撤退の判断を託して、他の8つの部隊に伝えることによって、多数決で全軍攻撃か、全軍撤退かを決めることしました。

例えば、自分が「攻撃」という判断を下しても、他5人以上の将軍から「撤退」という伝令が来たら、上記に倣って撤退することになる。

しかし、このやり方では、うまく多数決が機能しない可能性があります。
それは、この9人の将軍の中に裏切者がいた場合です。

例えば、4人が「攻撃」、4人が「撤退」という判断を下した場合、
裏切者は、「攻撃」と判断した4人には「攻撃」、「撤退」と判断した4人には「撤退」と伝令を送ります。
9人の将軍は集まって確認することができないので、届いた伝令を信じるしかありません。
そうすると「攻撃」と判断した4人の将軍は攻撃し、「撤退」と判断した4人の将軍は「撤退」することになり、4軍で攻め込む結果になり都市Aを落とすことができず、作戦は失敗します。

~~~~~~~~~~~~~~~~~~~~~~~~~

このように、集団において誰か一人が嘘の情報を伝達することにより、全体の合意を形成することが出来なくなります。

この事例に例えて、ブロックチェーンにおいても、参加者の一部が裏切り行為をすることで、正しい合意形成ができなくなる可能性があることを、ネットワーク上のビザンチン将軍問題といいます。

では、ブロックチェーンにおいて、この問題をどのように解決しているのか?

それは、裏切らずに正しい行動をとったものに、報酬を与えるということです。
これがいわゆる「Proof of Work(PoW)」と呼ばれ、難しい計算問題を解くこと(マイニング)に対して、報酬というインセンティブを与えることで、マイナーに正しい行動をとったほうが経済合理性が良くなるような仕組みになっています。