ブロックチェーンのビザンチン将軍問題とは?わかりやすく簡単に説明!

みなさんはビザンチン将軍問題はご存知でしょうか?
ブロックチェーンや仮想通貨のことを調べていて言葉を目にしたことがある方もいらっしゃるかもしれませんね。
ブロックチェーンは別名「分散型取引台帳」と呼ばれ、簡単に説明すると、特定の人物や組織など、これまで第三者を介して管理を行っていた取引データが分散され、ブロックチェーンのネットワークに参加している人たちのみで管理を行うことが出来る台帳です。
管理者が存在せず、インターネット上でコンピューター同士がデータの検証を行い、平等な情報共有が実現可能になります。
前述のとおりブロックチェーンには管理者がいません。ネットワークに参加した人たちはお互いを信用してデータの共有を行います。
もし、悪意のある参加者がいた場合はどうなってしまうのでしょうか?
管理者が存在せず、ネットワークに参加している人たちのみで管理を行う際に発生するのがビザンチン将軍問題です。この問題がネットワークにどういう影響を及ぼし、解決策はあるのかこれからわかりやすく簡単に説明します。
ビザンチン将軍問題とは?
ビザンチン将軍問題の舞台はビザンチン帝国です。敵軍の都市を攻め落とすために、各部隊に分かれたビザンチン将軍たちは敵軍の周りに配置されている状況。ビザンチン将軍たちが勝つには一斉攻撃を仕掛ける必要があり、一つの部隊が撤退の判断をしてしまうと負けの状態です。離れた場所に配置された各部隊に攻撃の合意を求めるのに、集まって話し合うことは出来ません。離れた場所から意志の伝達をする際に裏切り者がいた場合、合意形成は崩れてしまう問題のことをビザンチン将軍問題といいます。
分散型ネットワークのビザンチン将軍問題は合意形成問題
ブロックチェーンはPeer-to-Peer(P2P方式)という対等なコンピュータ同士で直接やりとりを行う分散型ネットワークを使っています。
分散型ネットワークの参加者たちは全員が善良な人とは限らず、中には改ざんや不正行為を企む悪意のある参加者が紛れる可能性もあります。
仮に悪意のある参加者がいた場合、
ブロックチェーンのような分散型ネットワークでは合意形成が崩れ、システム障害が起きやすい状態=ビザンチン将軍問題といわれている
ブロックチェーンはシステム障害が起きず、サービスが停止しない可用性の高さがメリットのため、合意形成が崩れてもシステムが停止しないしくみを構築することが不可欠です。
ブロックチェーンのビザンチン将軍問題に対する解決策
ブロックチェーンにはビザンチン将軍問題を解決するために「コンセンサスアルゴリズム」というしくみを採用しています。
ブロックチェーンは管理者が存在せず、分散した取引データを参加者全体で共有するため、誰かが不正をしようとした場合、誰のデータが正しいのか検証する必要があり、その検証のためのアルゴリズムが「コンセンサスアルゴリズム」です。
また、「コンセンサスアルゴリズム」は色々な種類があり、仮想通貨の種類ごとに変わります。
有名なところで、ビットコインは「Proof-of-Work(通称:PoW プルーフ・オブ・ワーク)」という、マイニング作業に成功報酬を与え、競争をさせることで不正や改ざんを防止するしくみを使っています。
マイニングはブロックチェーン上の取引データをつなぐために、ナンスと呼ばれるある特定の数字を見つける作業を行います。ナンスを一番最初に見つけられた人はほかの計算者に結果を公開し、正しいと判断された人に報酬が支払われます。
ビザンチン将軍問題を解決するには、「Proof-of-Work」のコンセンサスアルゴリズムでデータの検証を行う必要があり、そのためにマイニングの作業に成功報酬を与え、競争をさせることで不正や改ざんを防止しています。
マイニングについて知りたい方はこちらの記事もご覧ください。
おわりに
分散型ネットワークにおいてビザンチン将軍問題は昔からある問題でした。
そこで、管理者が存在せず、インターネット上で取引できる金融システムを構築するために、ブロックチェーンははじめからビザンチン将軍問題を解決できるようつくられた技術になります。また、ビザンチン将軍問題を解決するためにコンセンサスアルゴリズムは大切な役割を担ってます。
コイン総合研究所では、仮想通貨初心者の方のための解説記事やお役立ち情報を配信しています。
ブロックチェーンの記事でコンセンサスアルゴリズムや Proof-of-Work(通称:PoW プルーフ・オブ・ワーク)について解説していますので、ぜひご覧ください。
(執筆:山本)