ビザンチン将軍問題とは?

2019年3月26日

ビザンチン将軍問題(BGP)とはコンピュータ科学の分野で使われる言葉で、分かれて存在しているいくつかの集団が、失敗を防ぐために統率を取ろうとする状況を表しています。集団の中の数名は、集団を裏切っている信頼できない裏切り者です。

ビザンチン将軍問題は、分散化されたネットワークでは、ハッシングや、演算処理、ノード(将軍)を通じて全てのノードが合意を形成する必要があるため、ブロックチェーンでの合意形成を議論する際に理想的な例となります。

歴史的な意味

歴史的には、ビザンチン帝国(紀元後330年から1453年)は東・南ヨーロッパに位置し、今でいうトルコのイスタンブール、コンスタンティノープルを首都としていました。

この問題は、Leslie Lamport、Robert Shostak、Marshall Peaseの3者によって1982年の論文で初めて発表されており、その問題は以下のように説明されています:

信頼できるコンピュータシステムは、システムの異なる部分へ相反する情報を与えるような動作不良もきちんと処理しなければなりません。この状況は、敵地周辺で駐留しているビザンチン帝国軍の将軍の集団という観点から、抽象的に説明がなされています。情報伝達者を通じてしかコミュニケーションが成り立たない

状態で、将軍は共通の戦闘計画を実行しなくてはいけません。しかし、その中の1人もしくは数人は、その他を混乱させようとしている裏切り者かもしれません。それゆえ、ここでの課題は、忠実な将軍が確実に合意に至ることができるアルゴリズムを見つける必要があるということです。口頭の情報のみだと、2分の3以上の将軍が忠実であるという場合は、問題は解決できるように見えます。ですが、1人の裏切りものが忠実な2人の将軍を混乱させることもできるのです。ですが、偽造不可能な書類を使った場合は、将軍が何人いても、裏切り者がいたとしても、問題は解決することができます。このソリューションを、信頼性の高いコンピュータシステムへ適用するということが議論されています。

この例は主に、将軍や軍隊が城を包囲している状態で、攻撃するべきか撤退するべきかお互いを信用できないという状況について述べています。他の軍を信頼し、城を征服するという共通の目的の達成のため、お互いが協力しないと失敗に終わるかもしれないという問題が、どの将軍にも起こります。失敗する理由は、お互いへの信頼がないということです。

ソリューションとしてのブロックチェーン

暗号通貨に話を元に戻すと、ブロックチェーンが提供する実行可能なソリューションへ、信頼の問題を提示するビザンチン将軍問題は非常にタイムリーです。

初めに、ビットコインのブロックチェーンを開発したサトシ・ナカモトという存在によってこの問題への解決策は作られました。各軍隊というのはノードのことで、メッセージは取引です。ここでの敵は、ブロックチェーンを書き換えようとしている現実世界の人間です。

ブロックチェーンは認証と、多くのコンピュータからの情報の記録をしていますが、同時にどのコンピュータも、その情報に対しての権限を持っていない、もしくは究極的に信頼できる情報源として信頼されてないかのどちらかです。

Duality: An excerpt”という記事によると、ナカモトによって書かれたとされているのが、将軍問題はビットコインブロックチェーンを運営するPoWのコンセンサスアルゴリズムによって解決されるとされています。プルーフオブワーク(PoW)はビットコイン、イーサリアムの双方において利用されており、複雑な数学的な問題に対しての解決策となっています。PoWによって、マイナー(採掘者)は次のブロックへの回答を見つけ、正しい回答が発表され、他のマイナーによって検証されるという過程を通じて、中央権力の存在なくして、多数決による合意が形成されることになります。しかしPoWは、プルーフオブステーク(PoS)の提唱者によると問題がないシステムとは言えないと言われています。

0.00 avg. rating (0% score) - 0 votes

    No Comment.