ビザンチン将軍問題とは何か。ブロックチェーンとの関連性について

暗号通貨を知る

暗号通貨(仮想通貨)は、分散型コンピューティングにおけるビザンチン将軍問題を初めて解決したとして注目を集めました。分散型コンピューティングとは、ネットワークを介して複数のパソコンを接続し、処理能力を高める技術のことです。ブロックチェーンではこの分散型コンピューティングを利用し、なおかつ不正が起きない仕組みが構築されています。ここでは、ビザンチン将軍問題とは何か、ブロックチェーン技術との関連について解説します。

分散型コンピューティングにおけるビザンチン将軍問題について

分散型コンピューティングはブロックチェーン技術だけでなく、多くのシステムで利用されています。1台のパソコンでは能力が足りないとき、複数のパソコンを並行して動作させることで処理能力を高めるのが分散型コンピューティングです。
分散型コンピューティングは処理能力を高める以外にもいくつかのメリットがあります。ひとつは複数のパソコンのうち1台が故障してもほかのパソコンが稼働していれば問題なくシステムを続行できること。もうひとつは処理するサーバーを増やすだけで処理速度や信頼性が増すということです。
メリットの多い分散型コンピューティングはさまざまな場面で重宝されてきましたが、この技術にはある問題がありました。

ビザンチン将軍問題とは

分散型コンピューティングの大きな問題点であるビザンチン将軍問題。ブロックチェーンについて調べたことがある方なら目にしたことがあるでしょう。ビザンチン将軍問題とは、不特定多数のノードで構成されたP2Pネットワークに悪意のあるノードが含まれているときの合意形成問題です。

かつてヨーロッパで大きな力を有していたオスマン帝国は、あるときビザンチン帝国の将軍9人に包囲され崩壊の危機にさらされていました。ところが、9人の将軍が多数決で攻撃か撤退かを決めようとしたところ、4人は攻撃、4人は撤退と意見が分かれてしまいます。実はこの将軍の中には反逆者がおり、その1人が攻撃を示した4人には自分は攻撃すると伝え、撤退するとした4人へは自分は撤退すると言い、情報をかく乱したのです。
9人の将軍が率いていた部隊は、1人の反逆者によってそれぞれ別々の行動をし、結果オスマン帝国は守られ、攻撃側は2つに分割されました。

この状態は分散型コンピューティングにも起こり得ることです。同じく9台のパソコンがネットワークに参加していたとき、悪意のあるノードがあれば、かつてのオスマン帝国の将軍のように合意の形成が難しくなってしまいます。特にネットワーク上のみでやりとりをしている場合、相手を完全に信頼するのは難しいでしょう。
1台のパソコンですべてを管理しているとこういったことは起きません。つまり、中央集権型のシステムであれば、ビザンチン将軍問題について考える必要はありません。しかし分散型コンピューティングを利用して非中央集権型のシステムを利用するとき、ビザンチン将軍問題は大きなリスクとなるのです。
ブロックチェーンで言えば、取引の参加者それぞれのパソコンがノードに当たります。ブロックチェーンでも、上記で言う「合意」は必要なものです。例えばAさんがBさんにビットコインを送金したとき、そのデータが正しければ複数のパソコンが取引を合意し、実行され、新しくブロックが追加されます。

ブロックチェーンがビザンチン将軍問題を解決した?

この分散型コンピューティングにおけるビザンチン将軍問題、実はビットコインがブロックチェーンによって解決したと言われています。これには否定の声もあるものの、ビットコインのブロックチェーンは今も可動し運用されていることから、ビザンチン将軍問題に対する有用な解であることは確かです。
ビットコインのブロックチェーンには、いつでも正当な取引だけを受理し新たなブロックを追加していくという堅牢(けんろう)性があります。正しい取引を受理しないノードや不正な取引を受理しようとするノードがあっても全体はいつも正常に作動します。「相手を信用しなくても合意が得られる」というのがブロックチェーンの特徴です。
これを可能としているのが、取引を承認し新たなブロックを追加するために行われる「Proof of Work(プルーフ・オブ・ワーク)」なのです。

ビットコインはどのようにして問題を解決したのか

中央管理者がいないのにもかかわらず、いつでも正常に取引を承認し、ビザンチン将軍問題を解決したビットコインのブロックチェーン。一体どのようにしてこの問題を解決したのでしょうか。

分散型型合意形成アルゴリズム(コンセンサス・アルゴリズム)について

コンセンサス・アルゴリズムとは、暗号通貨(仮想通貨)に新規ブロックを追加する際の合意形成アルゴリズムのことを指します。暗号通貨(仮想通貨)の取引記録は、複数のマイナーによるマイニングで行われていきます。ビットコインのマイニングでは、ある複雑で高度な計算を複数のマイナーが同時に行い、最初にその答えにたどり着いたマイナーに新規コインが報酬として与えられます。
同じ計算を複数のマイナーが行うと、最終的な答えはまったく同じになるはずです。ただし、なかには計算ミスであったり、悪意のある者によってデータを改ざんされてしまったりということもあり得ます。しかし、最終的にはマイニングによる報酬が与えられた者が正しいことになり、「意見の合意があった」と見なされ取引が承認されます。

「Proof of Work(プルーフ・オブ・ワーク)」について

この意見の合意(コンセンサス)に使われるアルゴリズムは暗号通貨(仮想通貨)ごとに異なります。ビットコインでは「Proof of Work(プルーフ・オブ・ワーク)」というアルゴリズムが使われています。また、Proof of Stake(プルーフ・オブ・ステーク)をはじめ、ほかにもいくつかのアルゴリズムがあります。

プルーフ・オブ・ワークの日本語訳は「仕事の証明」です。なお、ブロックチェーンのコンセンサス・アルゴリズムでいう仕事とはマイニングのこと。プルーフ・オブ・ワークにおいては、上記でも触れた通り最も早く正しい計算を導いた人に仕事の証明が与えられ、その報酬として新規コインが付与されます。
プルーフ・オブ・ワークでは誰もがマイナーとしてマイニングに参加することができますが、高性能のコンピューターがなければいち早く答えにはたどり着けません。そのため、企業やマイニングを専門とするマイニングプールと呼ばれる集団がマイニングに参加し、競争が激化を極めています。また、マイニング集団が力を持ち過ぎると恣意的にブロックが作られ、事実上の中央集権化がなされてしまう可能性があります。

プルーフ・オブ・ワークにおけるデメリットを解消するべく、ブロックチェーンは進化し新しい技術も生まれています。それが先ほど紹介したプルーフ・オブ・ステークといったコンセンサス・アルゴリズムです。ブロックチェーン技術は今後もさまざまな問題を解消するべく、新しい技術を生み出しながら進化していくことでしょう。

新たな発想で生まれ進化する暗号通貨(仮想通貨)

このように、ビットコインは分散型コンピューティングにおいて、これまで解決できなかったビザンチン将軍問題をブロックチェーンによって解決しました。現在では、プルーフ・オブ・ワーク以外に効率のいいコンセンサス・アルゴリズムも生まれています。新たな発想と研究によって生まれたブロックチェーン技術は、今後も進化を続けていくでしょう。

参考: