昨今、ブロックチェーンを活用した仮想通貨の登場で、世界中の「お金の概念」が大きく変わろうとしています。メルマガ『週刊 Life is beautiful』の著者で仮想通貨の動向にも詳しい米在住の世界的プログラマー・中島聡さんは、今まで複数回にわたって仮想通貨の可能性や危険性について考察してきましたが、そもそも「ブロックチェーンとは何か?」という根本的な疑問について、成り立ちからわかりやすく解説しています。
ブロックチェーンとは
ブロックチェーンを活用した仮想通貨が投機対象になりバブル状態にあることは、このメルマガでも何度も指摘してきましたが、「ブロックチェーンとは何か」を分かりやすく説明するのは結構難しいので、これまで躊躇してきました。今週はそれにチャレンジしてみようと思います。
ブロックチェーンという技術は、2008年に、Satoshi Nakamoto と名乗る人が、”Bitcoin: A Peer to Peer Electronic Cash System” という論文を発表したことにより、世の中に知られるようになった技術です。
この論文で、彼は、「デジタル通貨の二重使用問題(分散システムにおいて、デジタル通貨が同時に別々のところで使われてしまう可能性を排除出来ない問題)を暗号化技術とゲーム理論を使って解決した」と発表しました。
通常の紙幣や硬貨と違い、デジタル通貨は、簡単にコピーが可能なので、(これまでのやり方では)分散システムで管理するのが不可能で、一つのデータベースで一元管理する必要がありました。
例えば、Paypal 上のデジタル通貨は、Paypal という会社が管理するデータベース上に作られた「電子元帳」上のレコードであり、Paypal 抜きに取引することは不可能です。別の言い方をすれば、私が $100 のデジタル通貨を持っていることを証明できるのは Paypal だけなのです。
銀行に預けたお金も基本的には Paypal と同じで、「私のUFJ銀行の普通口座の残高が10万円だ」という事実は、UFJ 銀行が管理する「電子元帳」上に記録されており、それを証明できるのは、UFJ 銀行だけなのです。
すべての取引が Paypal 上で成り立っていれば問題ありませんが、問題は金融機関をまたがった取引にあります。Paypal に口座を持っている A さんが、UFJ 銀行に口座を持っている B さんに送金しようとした時には、別々の会社が管理する「電子元帳」に同時に変更を加えなければならないため、これに非常に大きな手間とコストがかかるのです(銀行振込の手数料が「他行向け」の方が高いのはそれが理由です。実際のコストは、同じ銀行内の振込手数料は無料であるべきぐらいに違います)。
分散通貨システムとは、Paypal や銀行のような会社抜きに、分散型の「電子元帳」でデジタル通貨を管理しようというアイデアで、利用者はデジタル情報(0と1の集まり)で表現されたデジタル通貨さえ持っていれば、どこででも使える、というアイデアです。こうすることにより、Paypal のような「管理者」(もしくは金融機関)を排除し、はるかに低コストで通貨の交換ができることになります。
アイデア自体は素晴らしいのですが、分散システムならではの欠点があります。デジタル通貨の二重使用を防止することが非常に難しいのです。分散システムは、それぞれのサーバーに「電子元帳」のコピーが存在するため、一つのコピーに生じた変更を他のコピーに伝搬する仕組みがありますが、その伝搬の遅延を悪用すれば、二重使用が出来てしまうのです。
例えば、分散システムが S1 から S10 の10個のサーバーで構築されていた場合、S1 には(100ドルしか持っていない) A さんの口座から100ドルを(なんらかの対価の代金として) B さんの口座に移し、S2 には A さんの口座から100ドルを C さんの口座に移すという指示をほぼ同時に出した場合、実際には100ドルしか持っていない A さんが200ドル送金することを許してしまうことになるのです。
もちろん、こんな不整合は S1 上の「電子元帳」への変更と、S2 上の「電子元帳」への変更を後に融合しようとした時に発見できますが、その時には、A さんはすでに B さんと C さんから100ドルのお金に対する対価を受け取ってしまっていれば、後の祭りです。
Satoshi Nakamoto は、従来型のシステムは、それぞれのサーバーに置かれた「電子元帳」の変更が簡単すぎるのが問題だという点に着目したのです。簡単すぎるために、同時期に別々のサーバーにアクセスされると、「電子元帳」間の不整合(同じ通貨が二度使われてしまうなどの状態)が簡単に生じてしまうのです。
そこで、Satoshi Nakamoto は、「電子元帳」への取引の追加を「ものすごく難しく(=計算量を多く)」することにより、この問題を解決しました。それも単に計算量が多いだけでなく、運にも左右される仕組みになっているため(膨大な計算をして、正しい追加の方法を「発見」しなければならないようになっています)、ユーザーからアクセスされたサーバーが単体で出来るものではなく、(分散システムを構築する)他のサーバーに協力を仰がなければならないように設計したのです。
つまり、「特定のデジタル通貨の所有者が、A さんから B さんに移る」という事実を「電子元帳」に記録するためには、(分散システムを構築する)サーバーすべてが協力しなければ、それが出来ない仕組みになっているのです。
しかし、それだけでは、サーバーを管理する人たちにとって何も良いことがないので、最初に「正しい追加の方法を発見した」サーバーには、報酬として新たなデジタル通貨を与えることにした点が、Satoshi Nakamoto の「発明」であり、「ゲーム理論」の応用なのです。
この「報酬システム」の存在故に、報酬を欲しい人たちが競ってサーバーをシステムに追加し、それによって、システム全体の信頼性が高まり(サーバーの数が多いほど不正取引が難しくなる設計になっています)、二重使用が事実上不可能になっているのです。
ブロックチェーンでは、報酬目的で「電子元帳」への取引の追加のための計算の協力することをマイニング(採掘)、そんなサーバーを運営する人たちをマイナー(採掘者)と呼びますが、これはブロックチェーン特有の偶然に大きく左右される計算方法の特徴をよく表しています。貴重な鉱石を見つけるために土を掘っている姿に似ているからです。
ちなみに、Satoshi Nakamoto は、実名ではなくペンネームであるため、「その正体は誰か」というのが業界ではしばしば話題になります。私の名前(Satoshi Nakajima)がたまたま似ているため、「本当は君がブロックチェーンの発明者なんじゃないの?」と尋ねられることもしばしばですが、残念ながら違います。
このように、ブロックチェーンは技術としては本当に画期的で、(HTTP や HTML に並ぶ)ソフトウェア業界の最大の発明の一つと言って良いぐらいの素晴らしい技術です。しかし、それが今や投機対象となってバブルが生じ、数多くの金融詐欺の被害者を生み出していることはとても残念です。
このブロックチェーン・バブルの行き先がどこになるのかを予想するのはとても難しいのですが、どのバブルとも同じで、その中で(上手なタイミングで売り抜けて)莫大な利益を得る一部の人たちと、(トータルで)莫大な損害を被る大勢の人たちが生まれることだけは確実だと思います。
どうしても「ブロックチェーンで一儲けしたい」と言う人の気持ちも分かりますが、あくまでこれは(バブルに乗じた)ギャンブルだと割り切って、「なくなっても人生に影響のない額」にとどめるべきだと思います。
image by: Shutterstock.com