FLOCブロックチェーン大学校

マイページ
無料体験セミナー

3分でわかるブロックチェーン FLOC LOG

ビザンチン将軍問題とその解決策とは?問題解決の仕組みを解説

ブロックチェーンネットワークに潜む「ビザンチン将軍問題」はご存知ですか?人間心理にある裏切りが取引を脅かすビザンチン将軍問題とはどういう問題なのか、またBitcoinなどがどのようにその問題をクリアしてきたかについて解説します。

フロック博士

タカシ突然じゃが、「ビザンチン将軍問題」を知っているかね

タカシ

ビザンチン将軍??誰それ?ちょっと怖い名前だね

フロック博士

ビザンチン将軍問題とは、ブロックチェーン上の不正リスクを、古代東ローマ帝国の将軍の話に例えているのじゃ。

タカシ

ふーん、ネットワークと将軍、一件関係なさそうなのにね

フロック博士

多数決や集団の人間心理には普遍的なものがあるからのう。ビザンチン将軍問題とはどういうもので、ネットワークがいかにしてそれを乗り越えていったのかを今日は解説するぞ

ビザンチン将軍問題とは

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

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

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

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

電話もメールもない時代のことですから、離れた場所で意思疎通をするには伝令を飛ばす必要があります。そこで、各部隊の将軍は、部下の伝令を他の部隊へ送り、攻撃か撤退かの自軍の意思表示を伝えることになりました。

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

そこで、このチャンスを利用して、なんとかビザンチン帝国軍を敗北に追いやってやろうというたくらみを思いつきました。将軍は、半分である4人の将軍には撤退の意思表示を伝え、残りの4人の将軍には攻撃の意思表示を伝えました。
攻撃を信じた4人の将軍が自分の軍を動かしても、戦力が拮抗しているため、人数にかけるビザンチン軍は敗北してしまいます。

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

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

ブロックチェーンネットワークも、歴史上のビザンチン将軍問題と同様、誰かひとり全体を監視して皆の意思統一をはかることができる中央管理者がいない状況では、誰か嘘の情報を伝達する裏切り者がいると、全体で正しく適切なコンセンサスを形成することができません。

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

分散ネットワークにとってビザンチン将軍問題が脅威になる理由

分散ネットワークでのビザンチン問題では、ビザンチン帝国の将軍が9名であったように、参加者であるノードの総数をあらかじめ特定することができません。
分散ネットワークは、誰でもノードを立てることにより参加できるオープンかつパブリックなネットワークですので、参加者のノード総数が分からないようになっています。
一般的には参加者が増えるほど、故障やエラーがあるノードの数も増えます。さらに、裏切り者の発生確率も増えますので、悪意で誤った情報を流すノードの出現リスクも高まります。

どのようなシステムにもエラーは存在します。たとえば、ハードウェアであるノードが物理的に攻撃されたり、ネットワーク上でハッカーから攻撃されたりするなど、エラーのリスクには様々なものがあります。
エラーの中でも、たとえばメッセージが適切に受信できないなど、重症ではない障害をビナイン障害といいますが、この程度であればネットワークがダウンするほどの深刻な問題はおきません。
一方、システムの重大な部分の故障や誤ったデータを故意に送信するなどの参加者の裏切り行為があると、重大な障害であるビザンチン障害が発生するリスクがあります。そうなると、ネットワークそのものが機能しなくなるシステムダウンの可能性もあるのです。正しい情報伝達が行われないと情報の一貫性が保たれなくなってしまうからです。

ビザンチン将軍問題への対策

ブロックチェーンのような分散ネットワークにとって、ビザンチン将軍問題は大きなリスクです。これに対して、ネットワーク側も手をこまねいていたわけではありません。ビザンチン将軍問題が発生しても分散ネットワークをシャットダウンさせずに稼動させ続けられる方法については、これまで重要命題として検討されてきました。

ビザンチン問題に対して、Bitcoinブロックチェーンは、実質的には解決策を示すことが出来たといわれています。Bitcoinブロックチェーンで考案されたビザンチン将軍問題への対策は意外とシンプルでした。
それは、裏切りをせず正しい行動をとったノードに対しては、経済的なインセンティブを与えるということです。人間は動機づけによって動く生き物ですので、裏切り者が発生することを防ぐためには、反対動機を形成させる動機を与えればよいという考え方です。

これにより、正直者が馬鹿を見ないよう設計されたシステムとなり、対策は有効に機能しているようです。Bitcoinチェーンでは、このように対策をされた後、
システムダウンを引き起こすほど深刻なビザンチン障害は発生しないようになっています。仮想通貨の中でもBitcoinブロックチェーンはローンチから10年弱ほどたっていますが、なんとビザンチン障害によるシステムダウンは一度もないようです。

正しい行動を取った人へのインセンティブとして、Bitcoinネットワークではナカモトコンセンサスというアルゴリズムを採用しています。ナカモトコンセンサスでは、Proof of Workとマイニングによって、とるべき正しい取引を確率的に決定することができます。また、もっとも長いブロックチェーン上の取引を正しい取引であると定義しています。

ビザンチン障害耐性アルゴリズム

ビザンチン障害に対する耐性のあるアルゴリズムのことを、ビザンチン障害耐性アルゴリズムといいます。これらのなかでも特に実用的なものはPBFT(Practical Byzantine Fault Tolerance)とよばれています。

ビザンチン将軍障害問題を避けるために、分散型台帳技術にこのアルゴリズムを組んだブロックチェーンとしては、Hyperledger Fabricがあります。PBFTでは、選ばれたリーダーノードだけが最初のトランザクションを受け、他の参加者である承認ノードにトランザクションデータを転送します。

その後、承認ノードが、トランザクションが不正に改ざんされていないか確認のうえ、別の承認ノードに通知します。あらかじめ定められた数の承認ノードにすべて不正がないことを承認すると、正しく合意が形成されたとみなされ、そのトランザクションが実行され、データベースである台帳に反映されます。
Bitcoinチェーンで採用しているProof of Workと比べると、PBFTではトランザクションを承認するまでの時間が短い点に優れています。

タカシ

ネットワークの中にも歴史上の裏切り者みたいな人がいるんだね

フロック博士

異なる人同士が同じ方向に向く事はなかなか難しいからのう

タカシ

でも、ブロックチェーンは、ビザンチン問題を効果的なアルゴリズムを組み込んで克服してきたんだね。


FLOCブロックチェーン大学校は、第一線で活躍する講師陣から体系的かつ実践的な知識や技術を学び、最短3ヶ月でビジネスパーソンやエンジニアとして活躍できるブロックチェーン総合スクールです。
5,000人を超える方が参加した、無料でブロックチェーンを100分で学ぶ「無料体験セミナー」も随時開催しています。
遠方で参加できない、日程が合わないという方にはWEB受講も行ってます。

最新記事・限定情報を配信してます

関連記事

「ニュースレター」を無料購読しませんか?

ブロックチェーン関連の最新ニュースや話題のサービス事例などトレンド情報を定期配信します。

個人情報保護方針に同意して購読する

ブロックチェーン専門スクールで即戦力を身につけませんか?

FLOCブロックチェーン大学校は、技術者の育成から、ビジネススクール、検定試験によるアセスメントの構築、人材紹介、起業家育成などを通じ、ブロックチェーンのプラットフォームを構築しているブロックチェーンの総合スクールです。

こんな方に
オススメ
  • 知識ゼロから体系的な知識を身につけたい
  • ブロックチェーンの技術を生かしてビジネスを展開、起業したい
  • 技術者として活躍したい、Fintech業界で活躍したい


無料体験セミナーは、ブロックチェーンの仕組みからブロックチェーンで変わる未来、ブロックチェーン技術を効率的に身につける方法について、100分で学べる体験講座です。遠方で参加できない方や、教室開催の日程で都合が合わない方にはWEB配信も行ってます。

無料体験セミナーを確認する

FLOC LOG カテゴリー

3分でわかるブロックチェーンホワイトペーパー体験セミナー動画でわかるブロックチェーンNEWS