2016/12/09

話題の『ブロックチェーン』 仮想通貨を支えるそのスゴイ仕組みとは

ビットコインはブロックチェーンの一例にすぎない

「ブロックチェーン」とは、「ビットコイン」というネット上の仮想通貨を支えている基盤技術のことだ。ビットコインによってネット上で取り引きされたすべての記録を、これまでのように銀行などにある巨大なサーバーで管理するのではなく、取り引き当事者などを含めた複数人が所有しているパーソナルコンピュータなどで分散して管理しましょう、というもの。
では、なぜそんなことをするのか?

ブロックチェーンなら、大型でコストのかかるコンピュータが必要なくなり、かつ、セキュリティの面でも非常に強靱になるのだ。

2016年6月、朝日新聞の経済面に次のような見出しが躍った。『三菱東京UFJ、独自の仮想通貨発行へ 一般向けに来秋』。記事のなかにはこのような一文がある。《仮想通貨の「ビットコイン」などにも使われている取引記録の新技術「ブロックチェーン」を活用。取引を管理する大型コンピュータが不要になり、システム運営のコストが大幅に抑えられる》と。

ブロックチェーンは通貨だけを扱うものではない。世界中のあらゆるビジネスのあり方を根本的に変える可能性を秘めている。いったい、ブロックチェーンのなにが革命的で、どうして大型コンピュータが不要でコストも削減できるというのだろうか。説明しよう。

銀行やクレジット会社は「中央管理型データベース」

あなたが家賃を大家さんの口座に振り込んだとしよう。このときのお金の流れは、下のように書くことができる。

あなた → 銀行のあなたの口座 → 銀行の大家さんの口座

このとき銀行でなにが行われているかというと、銀行の高性能コンピュータが巨大なデータベースにアクセスして、あなたの取引データと大家さんの取引データをそれぞれ書き換えている。つまり、実際のお札やコインは移動せず、データの書き換えという現象だけが起きているわけだ。

あなたが銀行にお金を預け、銀行を通じていろんな支払いをしているのは、銀行という存在をあなたも社会も信用しているからだ。そしてその銀行は、あなたの金銭取引データを中央集権的に管理している。これは「中央管理型データベース」といわれるもので、ほとんどの銀行やクレジットカード会社のシステムがこれだ。そして、これの維持にお金がかかる。膨大な数の顧客のデータを瞬時に処理するには高速なコンピュータやサーバーが大量に必要だ。しかもセキュリティにかかるコストも巨額だ。

上の図が「中央管理型データベース」の概念。銀行などで用いられる中央管理型データベースは、こんなふうに、ひとつの巨大なコンピュータとサーバー(中央)に個人の取引データが一括して保存・更新される。この仕組みだと、コンピュータやサーバーの維持やセキュリティに多額の費用がかかる。

ブロックチェーンは「分散データベース」

一方、ブロックチェーンでは高速なコンピュータも必要がないし、セキュリティ面も頑丈だ。なぜか? それは世界中に散らばるたくさんのコンピュータにネットを介してデータを保管する、「分散データベース」というシステムであり、しかもそもそも不正が行われにくい特殊な仕組みになっているからなのだ。

分散データベースでは、銀行のような中央組織が存在しない。専用に開発されたソフトウエアによって、取引データを複数のコンピュータで共有する。そのコンピュータの数は数台かもしれないし、何万台かもしれないが、そのコンピュータすべてに同じデータが保存され、たえず更新されているとしたら、中央組織が管理するコンピュータやサーバーなど必要ないということになる。これを先ほどの家賃の例で、これらを仮想通貨で支払ったとすると次のようになる。

あなた → 世界中のたくさんのコンピュータに分散して存在するあなたの口座 → 世界中のたくさんのコンピュータに分散して存在する大家さんの口座

分散データベースでは、上の図のようにネット上に散らばったたくさんのコンピュータ(パソコン)・サーバーにデータが保存・共有される。ここには銀行に当たる中央組織が存在しない。

その分散データベースを支えるのは、たとえばあなたのコンピュータかもしれない。ビットコインの場合は、コインの保有者がデータを保存するコンピュータの持ち主であることが多いのだが、それは自分のビットコインを管理するソフトウエアに、この分散データベース機能が備わっているからだ。つまり、ユーザー全員でデータを共有するのが「分散データベース」で、このシステムを利用したのがブロックチェーンというわけだ。

ここで、あなたはこんな心配をするに違いない。他人同士のさまざまな取引データを、これまた他人のコンピュータで保存するのなら、悪人にやすやすと不正操作されるんじゃないかと。あるいは、他人の銀行口座や買い物データも簡単に盗み見できるんじゃないのかと。だが、それが不可能なのがブロックチェーンだ。

改ざんが難しいのはすべてのデータがつながっているから

そもそもブロックチェーンという名は、ある時間内に行われた複数の取引データを記録した「ブロック」が、時系列に従って「チェーン」状につながり、データベースを形づくっていることからくる。さらに、それぞれのブロックには、データの改ざん予防に使われる情報(ハッシュ値と言う)が収められている。

ハッシュ値とは「データを要約して短くしたデータ」なので、どこかのブロックのデータが変われば、そのブロックのハッシュ値も自動的に変わる。ブロックは「前のブロックのデータを元に」時系列でつながっているので、当然、それ以降のブロックでドミノ倒しのようにハッシュ値が次々と変わってしまう。

ブロックチェーンは、このデータ管理を複数のコンピュータで「同時並行」して行うので、たとえば誰かのPCのデータが不正に改ざんされたとしても、ほかのコンピュータとのハッシュ値とのデータ不整合が起こる。これによってデータの不正改ざんや、不正取引の承認を防ぐことができるのだ。

それ以外にも、改ざんを防止するいろいろな仕組みがシステム自体に組み込まれている。いずれにせよ、ハッキングするにも、分散データベースを構築している世界中のコンピュータをすべて調べ上げ、その全部を同時に攻撃しなきゃいけない。しかも、ブロックチェーンのすべての防御を切り崩し、データを改ざんするのはコスト的にも割りに合わないともいわれる。とにかく、精巧に考えられたシステムになっているのだ。

世界中で見張っているから、ズルのしようがない

さて、2番目の心配の「他人の銀行口座や買い物データを盗み見できるのでは?」ということだが、データは暗号化されているのでまったく心配ない。また、あなたの口座名も、たとえば「5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF」のような英数字で表現される。

そして家賃の振り込みの取引自体も、双方の暗号署名によってなされるから、確実かつ安全だ。そして、家賃がちゃんと振り込まれたということを、あなた自身もブロックチェーンのデータを見ることで確認できるのだ。

ここでまた、こんな疑問を抱く方がいるかもしれない。銀行を通じての決済は銀行への信頼のうえで成り立っているけれど、どこの誰かもわからない大勢の人のコンピュータに分散して存在するデータベースなんて、いったい信用できるのかと。

その答えは質問文のなかにすでにある。どこの誰かもわからない大勢の人が、つまり、お互いに利害関係のない大勢の人の監視のもとにあることこそ、ブロックチェーンのデータベースの正しいことの証しそのものだからだ。世界中の誰にでもオープンでありながらプライバシーは守られ、共有することで取引データの正当性が守られるというわけだ(用途によっては、データ維持や閲覧などが制限されたクローズド型のブロックチェーンもある)。

この革命的な仕組みを考え、論文を出したのは、サトシ・ナカモトという名の謎の人物。日本人のような名前だが、いったいどこの誰なのか、当人が実在するのかさえわかっていない(オーストラリアのIT研究者が「それは私だ」と主張しているらしいが)。日本では現在、実用化に向けて金融機関を中心に実証実験中だが、この人物によって書かれ、発表されたビットコインに関する1本の論文が、世界を大きく動かしたことだけは間違いない。

文:吉田 努