ビザンチン将軍問題とビットコイン(BTC)の課題を解説

暗号資産

 

https://liberty-of-will.com/wp-content/uploads/2021/05/admin-ajax-300x300.jpg
高山くん

今回はビットコインをより深く理解するために、避けては通れない内容について話したいと思います。

その名も「ビザンチン将軍問題」です。

西口さんはこの問題を知っていますか?

https://liberty-of-will.com/wp-content/uploads/2021/05/nishiguchi_san-e1619847685345-300x300.jpg
西口さん

分からないし、名前からどんなものか全く想像できないかな。

どんな問題なの?

https://liberty-of-will.com/wp-content/uploads/2021/05/admin-ajax-300x300.jpg
高山くん

簡単に説明すると「合意形成」に関する問題で、ビットコインのシステムだとマイナーに大きく関わってきます。

なるべく簡単に砕いて説明したいと思います。

ビザンチン将軍問題という言葉を聞いたことがあるでしょうか?

暗号資産(仮想通貨)を語る上では避けられない問題です。

特にBitcoinであれば尚更です。

今回の記事の内容を知ることで、「暗号資産(仮想通貨)の本質的価値を理解し、売買に役立てる」ことができます。

今回の記事は、暗号資産(仮想通貨)の少しだけ深い話をするため、前提知識として以下の記事がオススメとなっています。

ある程度、仮想通貨の知識がある方は全く分からないということはないので、そのままご覧いただければと思います。

答えとなりますが、ビザンチン将軍問題を解決するには、「ブロックチェーン」「コンセンサスアルゴリズム」が重要となります。

 

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

ビザンチン将軍問題は、お互いに情報をやり取りする対象が問題の発生、故意により、偽の情報を伝える可能性がある場合、全体の意志決定を正しく合意できるかという問題です。

ビザンチン障害とも呼ばれます。

簡単にすると、「不測の事態が起きても、情報を正しく伝えられるか問題」です。

1980年代に研究者であるレスリー・ランポート氏が提起した問題で、情報学、データサイエンスや、暗号技術などではよく取り上げられる問題です。

この問題は、中央集権型の決済システムでは起こりにくく、分散型の決済システムで課題となることが多いです。

ビザンチン将軍問題は、ビザンツ帝国(東ローマ帝国)のコンスタンティノープル包囲戦を引き合いに出した架空のものです。

この戦いで以下の条件の時に、正しく情報が伝達できるかが課題となります。

 

条件

・コンスタンティノープル(イスタンブール)を「全軍で包囲」することができれば、ビザンツ帝国側の勝利

・「全軍で包囲」することができず数が足りない状態で攻撃すると、ビザンツ帝国側の敗北

・「全軍で撤退」をして状況を立て直すことができれば、ビザンツ帝国側の敗北は免れる

・攻撃の戦略は、「包囲」か「撤退」の2つ

・攻撃の戦略は、多数決に従う

・全軍の数は問題を分かりやすくするため、「2n+1」の奇数とする

・攻撃の戦略は、各軍の長である将軍が別の各軍に「包囲」か「撤退」を伝える

 

問題

普通であれば、各軍の将軍がどちらかの戦略を伝えれば問題ありません。

ここでどこかの将軍が裏切り、情報の伝達を不正した場合どうなるでしょう?

分かりやすく各軍の数は3です。

1人は「包囲」、1人は「撤退」、最後の1人は片方に「包囲」、もう一方に「撤退」を送ります。

 

 

この場合、多数決では「数が2以上の戦略」を採用しますが、「包囲」「撤退」共に悪意ある情報により数が2となります。

そうすると、ある軍は「包囲」を実行し、ある軍は「撤退」します。

「全軍で包囲」しないと勝利できず、軍の数が減るためビザンツ帝国の敗北が決定します。

あなたはこのような情報が不正に伝達する場合、どのような策を考えますか?

 

仮想通貨の問題に置き換える

先ほどまでは軍事の例えになっていましたが、あくまでも多数決の情報伝達が正しく行えるかが課題です。

暗号資産(仮想通貨)の問題に置き換えて考えてみましょう。

古くからあるの決済システムは、会社が管理していて「サーバクライアント型」となっています。

一方、ビットコインを始めとした暗号資産(仮想通貨)は、「分散型ネットワーク」を形成しています。

「分散型ネットワーク」は利用者の数だけ、多くの考え方があり、意見が異なります。

この違いにより、暗号資産(仮想通貨)では取引が正しいのかの判断を、システムの利用者が決めないといけません。

 

二重決済(二重取引)

決済システムで一番重要なことは、二重決済(二重取引)を引き起こさないことです。

例えば、①ボブがアリスに1BTC送る

②その後に、ボブがレベッカに同じ秘密鍵を使用して、同じ1BTCを送金します。

ここでは、同じお金を送金できるということが分かれば十分です。

2つの取引情報は作成されますが、実際はマイナーと呼ばれる存在に不正が発見されて、取引が弾かれます。

マイナーは取引の不正を監視する存在です。

ビットコインでは、送金者と着金者以外のマイナーという第三者で取引の確実性を担保しています。

ようやくですが、ここでビザンチン将軍問題です。

 

問題をどう解決するか

中央管理型の決済システムでは、この問題が浮き彫りになりません。

中央管理型の決済システムは、意志決定が1つのため、取引の判断を他から変えられることはありません。

ビットコインは、マイナーという第三者に取引の承認を委ねているため、悪意あるマイナーが不正な取引を承認する可能性があります。

先ほどの①ボブがアリスに、②ボブがレベッカに送金した後、ボブがマイナーとして取引を承認させるのが1つの例です。

不正な取引が承認されないために、あなたはどのように問題を解決するでしょうか?

この問題が解決されない限り、ビットコインを始めとした暗号資産(仮想通貨)の信用は一切なくなり、通貨としての機能はしません。

今現在、二重決済(二重取引)は起こされていませんが、今後発生すると価格が一気に暴落してしまいます。

この問題を知ることは、投資のために重要です。

 

ビザンチン将軍問題の解決策

この問題を解決するために考えられたのが、「ブロックチェーン」「PoW」です。

本格的な説明はまたの機会にしますが、概要を説明するため読んでいただければと思います。

暗号資産(仮想通貨)の根幹に関わる技術です。

 

PoW(Proof of Work)について

PoWは合意形成アルゴリズム(コンセンサスアルゴリズム)の1つであり、取引を正しく承認する者にインセンティブを与えるやり方です。

PoW(Proof of Work)は、Proofは「証明」、Workは「取引を承認するために計算する」ことを指します。

マイナーが報酬を得るには、他のマイナーよりもいち早く計算をして、取引を承認することでした。

計算して、取引の正当性を証明するシステムのことをPoWと呼びます。

報酬を与えることで悪意ある人間も、システムに協力的になります。

しかし、報酬以上のメリットが改ざんにある場合、システムが壊される可能性があります。

そこで対策となるのが「ブロックチェーン技術」です。

 

ブロックチェーン技術について

ブロックチェーンは、データベースの1種で、過去の取引情報と整合性が合っている時に取引を承認します。

ブロックと呼ばれる単位の箱に、複数の取引情報が格納されて、過去のブロックとチェーンで結ばれる様から、そのような名前となりました。

過去のブロックと現在のブロックを繋ぐ際には、「ハッシュ値」「ナンス」と呼ばれるもので整合性を取ります。

ハッシュ値はハッシュ関数と呼ばれる関数の戻り値です。

実際やってみると、ランダムな値を返しているように見えますが、規則性があり同じ値を入力すると、同じ値が返ってきます。

「abc」をハッシュ関数(SHA256)で計算すると以下となります。

「ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad」

一方、ナンス(ノンス)は、number used onceの略で、一度だけ使用される使い捨ての値を指します。

銀行などのネットバンキングで、ワンタイムパスワードがそれに当たります。

複数の取引情報を格納したブロックには、一つ前のブロックのハッシュ値が含まれていて、そこで整合性を取ります。

ナンスは一度きりの値ですが、色々な制約が与えられています。

その条件の中で、ハッシュ値に合ったナンスをいち早く探したマイナーは、報酬を得られます。

もし、不正な取引を改ざんする場合は、ハッシュ値が変わるため、過去全てのブロックのナンスを計算しないといけません。

また、新しくブロックが追加されると、新しいブロックからまた計算をやり直すことになります。

 

解決策ではない

このように改ざんが困難な場合、不正をするよりも素直に計算をして、報酬を貰った方が合理的です。

ブロックチェーンという改ざんを困難にさせるシステムと、PoWによる報酬により、ビットコインは2009年からビザンチン将軍問題を起こしていません。

しかし、「ブロックチェーン」と「PoW」だけでは、完全に解決したとは言えません。

なぜなら物凄い速さで計算をされた場合、改ざんされる可能性があります。

ここでは詳細を省きますが、51%攻撃などの問題もあり、「システムの抜け穴」が存在しています。

実現するのはかなり困難ではありますが、不可能ではありません。

10年以上もシステムが正常に機能していることは、とても素晴らしく評価されるべきですが、少ない可能性ではあるもののリスクが存在しています。

 

まとめ

いかがだったでしょうか。

ビザンチン将軍問題とビットコイン(BTC)の課題を解説と題して、情報をお伝えしてきました。

少し難しいところもありましたが、概要は掴めたのではないでしょうか。

ビットコインの技術がこの問題を引き起こさず、10年以上システムが機能していることは素晴らしいことです。

今回の内容を簡単にまとめます。

・暗号資産(仮想通貨)には、合意形成の問題を抱えている

・決済システムで二重決済(二重取引)を引き起こしてはいけない。

・問題を解く鍵が「ブロックチェーン」と「PoW」

・報酬を与えることで、悪意ある人間と共存する

・ブロックチェーンの改ざんは困難

・ビザンチン将軍問題は、完全に解決はしていない

 

この問題が起きた場合は、ビットコインを始めとした暗号資産の価格は暴落します。

かなり重要なテーマなので、二重決済(二重取引)やビザンチン将軍問題などのフレーズがニュースで出てきた際には、気を付けましょう。

投資の際の参考にしていただければ幸いです。

それではまた!

 

高山くん

高山くん

建築の意匠設計→システムエンジニアに転職。 トレードに関することをお伝えしています。目指せ億り人!

関連記事

特集記事

コメント

この記事へのコメントはありません。

TOP