こんばんは、たつぞうです。
今日は、分散型コンピューティングの世界ではポピュラーな「ビザンチン将軍問題」について、解説したいと思います。
ビザンチン将軍問題とは?
この用語は、ネットワークに繋がっているコンピュータの不正やエラーによって起こる問題のことを言います。
ビザンチン帝国とは、4世紀以降にヨーロッパで栄えた帝国のことです。帝国軍の9名の将軍が、あるとき、別の都市を攻め落とすために、それぞれ部隊を率いて包囲していました。
その都市を攻め落とすには、9つある全ての部隊が一斉に攻撃しなければならない状況です。また撤退するにも、一斉に撤退しなければ、敵の攻撃により、自軍に被害が出ます。
将軍たちは、どうするか決めようと、伝令を飛ばし、多数決で決めることにしました。しかし、将軍のうち1人が裏切り者だったのです。
攻撃の意思を示した部隊が4、撤退の意思を示した部隊も4、あとは、裏切り者の将軍の意思で、全軍の意思が決定する場面で、その将軍は、攻撃の意思を示した部隊には攻撃を、撤退の意思を示した部隊には撤退の意思を伝えます。
こうして、攻撃する部隊と撤退する部隊に別れてしまったため、帝国軍は全滅してしまいます。この故事にならい、分散コンピューティングの一部のコンピュータの不正やエラーによって起こる問題のことを「ビザンチン将軍問題」と呼ぶようになりました。
この問題は、ブロックチェーン技術を応用したビットコインにとっては致命的な欠陥につながります。
残高やビットコインの取引が、容易に改ざんされてしまえば、信頼性は失われてしまい、誰もビットコインを使用しなくなるでしょう。
次回以降の記事では、このビザンチン将軍問題に対して、ブロックチェーンはどうやって対応しているのか?を紹介します。
皆さんも耳にしたことのある「POW(プルーフオブワーク)」「POS(プルーフオブステーク)」「POI(プルーフオブインポータンス)」などについて解説予定です。
ただし来週からは、フルタイムでの職場復帰となりますので、記事更新のペースが不規則になります。
気がのったら書くという、私の気分次第になりますのであしからず😓
過去記事
tatsuzou12.hatenablog.com
tatsuzou12.hatenablog.com