ビザンチン将軍問題とは?わかりやすく解説します
あなたは、「ビザンチン将軍問題」というワードを聞いたことがあるでしょうか?
歴史的語句でありますが、ブロックチェーンネットワークに潜む課題であります。
今回は、人間心理にある裏切りが取引を脅かす、「ビザンチン将軍問題」について解説していきたいと思います。
ビザンチン将軍問題の基本的意味
ビザンチン帝国とはヨーロッパで栄えた帝国のことです。
帝国軍の9名の将軍が、別の地域を攻め落とすためにそれぞれ部隊を率いて包囲していました。
戦況が拮抗したことで、9名の将軍は全軍協力して一⻫に攻撃するのか、1度全撤退して立て直してから攻撃するのか、合意して決めなければならなくなりました。
この時に、互いに対等な地位にある9人の将軍は、これを多数決で決めることにしました。
昔は、離れた場所で意思疎通をするためには、伝令を飛ばす必要があります。
そこで各部隊の将軍は部下の伝令を他の部隊へ送り、攻撃か撤退かの自軍の意思表示を伝えることにしました。
最後に投票する将軍は、ビザンチン帝国に以前から恨みを持つ将軍でした。
その将軍は自分が投票する前の他の将軍の投票結果が、ちょうど半分ずつに分かれたことを伝令から聞きました。
ここがチャンスと言わんばかりに、ビザンチン帝国軍を敗北に導こうという考えを持ちます。
最後の将軍は半分である4人の将軍には撤退の意思表示を伝え、残りの4人の将軍には攻撃の意思表示を伝えました。
攻撃を信じた4人の将軍が自分の軍を動かしても戦力が拮抗していたので、戦力が十分でないビザンチン軍は敗北してしまいました。
ブロックチェーンとビザンチン将軍問題
ブロックチェーンネットワークも、どこか一つの母体が全体を監視して、全員の意思統一を図ることができる中央管理者がいない状況ですと、裏切り者のニセの情報が流れれば、全体で正しく適切なコンセンサスを形成することが出来なくなります。
したがってブロックチェーン上のビザンチン将軍問題とは、ノード上で複数の参加者によって形成された集団において意思決定をする際に、一部の参加者が裏切り不正行為をしたとしても、正しく合意形成できるのかという問いかけのことを指します。
ビザンチン将軍問題は解決できたのか?
ブロックチェーンが優れている点の1つとして、このような「ビザンチン将軍問題」を回避する仕組みが、すでに技術の中に組み込まれているということが挙げられます。
具体的には、ブロックチェーンごとに定められている「新しい情報を追加するためのルール」にポイントがあります。
そのルールは「分散型合意形成アルゴリズム」と呼ばれ、処理スピードやコスト面などで異なる複数のコンセンサスアルゴリズムが発明されています。
構築するシステムのコンセプトなどによって、適したコンセンサスアルゴリズムは異なるため、ベストなコンセンサスアルゴリズムはこれが良いということはありません。
厳密にはビザンチン将軍問題を解決していないのではないかと唱える人もいますが、現実的にコンセンサスを覆すためのコストとそのメリットを考えると、ほぼ起こらないとは言えるでしょう。