ビットコインは、インターネットのユーザーが、固有のデジタル財産を他の人に転送することを、初めて可能にした。そしてその取引は安心安全で、誰もがそれが行われたことを確認でき、その正当性を誰も疑うことができない。このブレイクスルーの重要性は、どれだけ誇張しても言い過ぎいることはないだろう。 ーマーク・アンドリーセン

ビザンティン将軍問題とは?

遠い昔、ビザンティン帝国の5人の将軍たちが、敵国の城を攻め落とすために包囲していました。

確実に落とすには条件があります。

  • 城を攻め落とすには、5人の将軍が率いる各部隊の一斉攻撃が必要。
  • 1部隊でも欠ければ敗退する。中には自分の部隊を消耗させたくない将軍もいます。各将軍、どのような戦略を取るかは自由です。しかし、陥落させるに5部隊での攻撃が必須。
  • 一斉攻撃するか、全軍撤退するかは多数決が必要。
  • 各部隊は、包囲しているため、集まって話せないので、伝令が回って一斉攻撃か撤退の意思表示を各部隊に送る。
  • 中央に司令官はいないものとする。なので各部隊に一斉に命令できない。
  • 必ず多数が実行される。「攻撃」3票、「撤退」2票となれば一斉攻撃。

問題は5人の将軍の中に、裏切り者がいた場合です。

ビザンティン帝国に恨みがあるのでしょうか?それか敵国に買収されたか。

例えば「攻撃」2票、「撤退」2票となっており、裏切り者の将軍の票を待っているものとします。

裏切り者の将軍は、どう意思表示すればビザンティン帝国を敗退に追い込めるでしょうか?

それは「攻撃」2票の部隊に「攻撃」と意思表示し、残り「撤退」の部隊に「撤退」と意思表示します。
そうすると「攻撃」2票の部隊は「攻撃」が多数決だと判断して一斉攻撃します。「撤退」2票の部隊は「全軍撤退」と判断します。

結果、2部隊で攻撃をかけるので、戦力が足りず敗退ですね。


さあ、何が問題なのでしょうか?

お互い協力しないといけない状況で、このような悪意がある者がいると ネットワークに不整合が生じますよね。

要するに信頼できないネットワーク上で合意形成は可能か?という問題です。
これは合意形成に至ることができるのでしょうか?



ブロックチェーンと何が関係あるのか?

ブロックチェーンが、これほどまでに信頼されているのは、ビザンティン将軍問題を解消したからなのです。

将軍をPC(ノード)、伝令を用いるネットワークをインターネット、中央で監視する司令官がいない(仲介するサーバーがない)と考えればわかりやすいです。
※PC端末同士が、サーバーを介さないで直接通信する方法をP2Pと言います。

どこの馬の骨がいるかわからないインターネット上で、無事にお金のやり取りをしたい。間に銀行も介さない、それでいて、二重払いや改ざんが起こらないよう取引の正当性を保証したい。


どうするか?


「P2P環境におけるコンピュータが、過去の取引を記録について、全員が合意できる唯一のデータベースを保持する」にはどうすればいいのか?これは言い換えると、ビザンチン将軍問題そのものです。すべてのコンピュータが共同して、ビザンチン将軍問題でいうところの「合意」ができたとしたらどうすればいいのか?

中央の誰かが、データを書き換えるのではなく、各コンピュータがビザンチン将軍問題を解いて同意し、同意事項を、自分で手元のデータベースに追加するのです。そうすることで、全員が同じデータベース(ブロックチェーン)のコピーを手元に維持します。

どうやってその合意データを作るのか? これを、Proof of Workというある種の計算量の多い問題を解くことによって実現しています。実は、これこそがビットコインの採掘と呼ばれるものなのです。ビットコインの採掘行為とは、ネットワーク全体で、ビザンチン将軍問題の合意を得るための作業のことだったのです!

ー ビットコインはどのようにして動いているのか? ビザンチン将軍問題、ハッシュ関数、ブロックチェーン、PoWプロトコル より

ブロックチェーンとは性悪説を前提としているのです。ネットワーク上には、悪い奴がいるってことを予め想定しています。

誰もが嘘をつく可能性があるネットワーク上で、どのように整合性をたもっているのでしょうか?しかも、銀行の管理なしに個人間でですよ?

Proof of Work(Pow)という合意形成アルゴリズムで実現しています。いわゆるマイニング(採掘)です。

一言で言うと計算量の多い問題を解いたマイナーが取引を承認できるのです。

ビザンティン将軍問題でいうと、問題を解いた将軍だけが伝令を出せるのです。残り将軍たちはそれが正しいか検証するだけです。

逆に、もしProof of Work(Pow)が無かったらどうなのでしょう?

各ノードが「俺の取引内容が正しい!」って言い出したらどうなるでしょうか?収拾がつかず、合意に至りませんよ。w

膨大なノード同士が、お互いの言い分を検証するのは不可能です。

参加者の善意に従ったシステムだったらどうでしょうか?

悪意を働いてもコストがかからないので、悪意があるノードが多数派に回る可能性があります。面倒なマイニングがないのですから、ブロックチェーンに改ざんした記録を追加し放題です。

インターネットって無法地帯なのです・・・

ブロックチェーンがもし改ざんされたらどうでしょう?イコール、ビットコインの取引履歴に齟齬があるということです。

取引履歴こそビットコインの存在を証明しています。

そんなビットコイン誰が欲しいですか?

暴落・・・


なので、10分で一人しか解けないような膨大な計算を課せば、効率的にみんなで検証して合意できます。

マイニングは裏を返せば、改ざんする動機をなくしているわけです。

マイニングするにはマシンパワーと膨大な電気代がかかります。正直なノードが多数を占める中、未来永劫に改ざんしたブロックを追加していかないといけません。ビットコインをかすめたより、莫大なお金がかかりますよ。

それだったら最初から正直にマイニングした方が得なのです。

Proof of Work(Pow)が、イノベーションたる所以ですね。


ブロックチェーンのワクワク感って、新しい民主主義の形を示唆していることです。それは国や企業を超えて、個人が力を持つ時代です。なぜなら、中央の権力を通さず固有のデジタル財産を他人に転送できるからです。

これはかつてアダム・スミスが、提唱した経済像もあります。

中央の管理を必要とせず、性悪説を前提とし、人間の欲望が結果的に最適解となるシステムです。



関連記事:仮想通貨を始めるべきシンプルな理由。