今回はビットコインをより深く理解するために、避けては通れない内容について話したいと思います。
その名も「ビザンチン将軍問題」です。
西口さんはこの問題を知っていますか?
分からないし、名前からどんなものか全く想像できないかな。
どんな問題なの?
簡単に説明すると「合意形成」に関する問題で、ビットコインのシステムだとマイナーに大きく関わってきます。
なるべく簡単に砕いて説明したいと思います。
ビザンチン将軍問題という言葉を聞いたことがあるでしょうか?
暗号資産(仮想通貨)を語る上では避けられない問題です。
特に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」
・報酬を与えることで、悪意ある人間と共存する
・ブロックチェーンの改ざんは困難
・ビザンチン将軍問題は、完全に解決はしていない
この問題が起きた場合は、ビットコインを始めとした暗号資産の価格は暴落します。
かなり重要なテーマなので、二重決済(二重取引)やビザンチン将軍問題などのフレーズがニュースで出てきた際には、気を付けましょう。
投資の際の参考にしていただければ幸いです。
それではまた!
コメント