どこが危ない? 仮想通貨取引

(第4回)ブロックチェーン(前編)

中央大学 総合政策学部 准教授 岡嶋裕史(おかじま・ゆうし)

 今回は仮想通貨を理解する上での本丸、ブロックチェーンについてご説明します。

 よく「ブロックチェーンだから安心!」という声を聞きますが、何がどう安心なのでしょう。

 私は「スペインの家具なら並行輸入で買うべきだよ! うんと安いよ! 契約が不安? そんなこと全然ないってば! 大丈夫だいじょうぶ、安心だよ!」という知人の意見を素直に聞いて、ひどい目に遭ったことがあります。知人は嘘をついていたわけではありません。確かに大丈夫で何の問題もないのです。スペイン語が自在に操れて、VAT(付加価値税)の還付処理の煩雑さをものともしない人にとっては。

 他者から投げかけられる「安心だよ!」の言葉に嘘はなくても、何がどう安心なのかを自身で理解しておかないと、苦労するかもしれません。自分を取り巻くものごとのしくみを理解しておくことは、生きていく上で重要です。

ブロックチェーンは仮想通貨だけの技術ではない

 まず、「ブロックチェーン=仮想通貨」ではないことはおさえておきましょう。「ブロックチェーン=仮想通貨の技術」でもなくなってきています。ブロックチェーンは、もっと色々な用途に使える汎用的な技術と見なされ、実際に応用例も出てきました。

 最近では、本人認証のしくみとしてブロックチェーンを使うことも報道されています。

 どうして、そんなことができるのでしょう?

 ブロックチェーンは名前の通り、データのかたまり(ブロック)を数珠つなぎ(チェーン)にする技術です。イメージとしては以下のようなものです。

 ブロックはデータを保存しておく単位です。ビットコインであれば、1つのブロックの中に複数のトランザクション(取引履歴)が格納されています。

データの分散は以前からあった

 ただデータを保存するしくみであれば、いままでにもたくさんありました。リレーショナルデータベースは相変わらず世界中で使われています。Oracleなど本格的なものは個人ではなかなか手が出せませんが、Microsoft Accessなどであれば価格も手ごろです。

 ブロックチェーンが、こうした従来型のデータベースと大きく異なっているのは、次の2点です。

1. データが分散配置されている
2. 中身が公開されている

 データの分散配置については、経験のある方もいらっしゃるかもしれません。「へそくり口座情報のファイルが1つだけでは、誤消去の危険がある。コピーをつくって、別のハードディスクにも保管しておこう」とか、「いっそ遠隔地に保管すれば、大災害に遭遇しても、へそくり口座情報を失うリスクを最小化できる。よし、パラオの業者に依頼しよう」とか、そういったたぐいのことです。

 「おお、DNSと同じか」とピンとくる方もおられるでしょう。DNS(Domain Name System)とは、インターネット上の電話帳のようなサービスです。

 インターネット上のすべての通信には送信先や送信元のアドレスが必要で、192.168.0.1のようなIPアドレスが使われます。しかし、これは無味乾燥な数値でとても覚えにくいので、www.nikkeibook.comのような別名(FQDN: Fully Qualified Domain Name)が用意されました。192.168.0.1とwww.nikkeibook.comを結ぶ電話帳サービスがDNSで、IPアドレスとFQDNの膨大な組み合わせを保存するために分散型データベースが使われています。

みんなで保存するブロックチェーン

 しかし、ブロックチェーンはこのどちらとも違うのです。似て非なるものです。ブロックチェーンのデータは、だれでも参照することが可能です。一方で私のへそくり口座情報は、私以外の誰も見ることができません。

 DNSは、膨大なデータを効率的に蓄積・処理するために、各参加者が少しずつデータを持ち合っています。しかし、ブロックチェーンでは、すべての参加者がすべてのデータを手元に置いています。

 そう! すべてのデータが自分の手元にくるのです。ビットコインであれば、自分とはまったく縁もゆかりもない人の取引データがどんどん数珠つなぎになって、それが世界中の人に配られるイメージです。

 そんなことをして大丈夫なのでしょうか? たとえば、データが途方もなく長くなってしまうのでは? 実際にデータの増加は起こっています。しかし、現在のコンピュータの演算速度や記憶容量を考慮すれば、これはたいした問題ではありません。

 参加者全員にすべてのデータが行き渡ったら、改ざんされるのでは? という懸念もあるでしょう。ブロックチェーンに新しいブロックを追加するときには、前のブロックのデータから作ったハッシュ値を足してやる必要があるので、改ざんは著しく困難です。

 ハッシュ値とは、ハッシュ関数という関数を使い、投入したデータとは似ても似つかない、でも一意に(唯一)求められる数値です。ハッシュ値から元のデータを類推することは不可能とされています。ハッシュ値はよく「要約」に例えられます。元の文章に基づいて要約を作りますが、要約から元の文章を復元することはできません。作り方が工夫されているので、ちょっとでも元の文章に手を加えると、まったく違った要約になります。この特性を利用して、元のデータが壊れてしまっていないか、悪意を持って改ざんされていないか、というチェックができるのです。

 悪いことをしようとする人が自分の都合のいいようにデータを改ざんするためには、元の文章と要約(ハッシュ値)を辻褄が合うように変更する必要がありますが(もちろん、ビットコインであれば、延々と連鎖するすべてのブロックにそれを行う必要があります)、それは事実上無理です。すなわち、誰かが改ざんしてもすぐに発見することが可能です。こうした性質から、ブロックチェーンは安全だと言われているのです。

 後編では「閲覧」と「マイニング」について説明します。

 

執筆者プロフィール

1972年東京都生まれ。中央大学大学院総合政策研究科博士後期課程修了。博士(総合政策)。富士総合研究所、関東学院大学経済学部准教授、関東学院大学情報科学センター所長を経て、中央大学総合政策学部准教授(現職)。専門は情報ネットワーク、情報セキュリティ。

関連記事