ブロックチェーンとは何か、分かりやすく解説しているというものでも専門用語が飛び交い、プログラマーではない一般の人にとっては理解できないものになっています。というのも、ブロックチェーンは普段私たちの生活で表に出ることのない専門性の高いものだからです。この記事ではブロックチェーンとは何かを、なるべく誰にでも分かる形で書くことにしました。初めてブロックチェーンを知りたいという方はぜひご一読ください。
ブロックチェーンが生まれた背景にあるものとは
ブロックチェーンそのものについてお話する前に、なぜブロックチェーンというものが世に出ることになったのか説明します。
中央で管理する人がいないお金を作りたい
私たちの身の回りには様々な電子機器があります。例えばスマートフォンです。スマートフォンでできることと言えば、写真を撮る、電話をかける、メッセージを送信する、インターネットのページを閲覧するなどです。これらを可能にしているシステムに、わたしたちは気にかけることなくスマートフォンを使っています。ブロックチェーンとスマートフォンは直接関係ありませんが、このような「人が求めるものを可能にするシステム」がブロックチェーンという1つの技術です。
それでは、ブロックチェーンと大きなかかわりがある「決済システム」の話に移ります。皆さんは銀行に行ってまたはインターネットバンクからお金の振込を行っていると思います。その時、銀行のシステムを経由して振込先の口座へお金が振り込まれることになります。銀行という中央で管理している人を仲介していることになります。
一方、ブロックチェーンの技術は、そういった中央管理者のいないお金の発行、送金を可能にしたシステムなのです。
仲介者をなくしたい
ブロックチェーンは、中央管理者のいない送金システムを可能にしたということが分かりました。そのためにはどのようなものが必要とされたのでしょうか?
まず1つ目は、仲介者をなくすということです。一例として、音楽業界の話をします。以前はレコードやCDを購入することでしか音源を手に入れることができませんでした。しかし、今や音楽はデータでレコード店やCDショップを経由することなく購入することが出来ています。
お金の送金に話を進めます。お金を送金する場合、銀行から銀行へ送金するだけなのに、仲介者がいるので時間がかかります。クレジットカードであれば、クレジットカード会社も通しているので、決済日になるまで実際にお金が動くことはありませんよね。仲介者がいないのであれば、お金をすぐに送り、受け取ることができるようになります。仲介者のいないスムーズなやり取りができるということで、ブロックチェーンには大きな期待が寄せられているのです。
次に、中央管理者をなくすための分散システムです。管理する1人の人・組織がいなければ、その存在がなくてもみんなで管理できるようにしなくては統制が取れません。無法状態では非常に危険です。みんなで管理するために必要な環境とシステムが必要です。そこで、皆さんもお持ちのインターネットに繋がるコンピュータを利用することになります。それぞれのコンピュータが管理者となるようなシステムを可能にしたのもブロックチェーンの技術です。
安全性がほしい
ここまで読んで、「悪意ある人もいるから危険なのでは?」という疑問が浮かんだ人もいるかもしれません。銀行は、ある程度の信頼性があるから安心してお金を預けたり、送金を依頼することができます。(中には銀行も信頼できなくて手元に現金を置いている人もいますよね。)誰もが管理者になれるのなら、きっとそれを悪用する人が出てくるはずです。そのような問題が解決され、安全性が確認されないと安心して使うことはできません。そこで、ブロックチェーンでは複雑な「暗号」を用いることや、オープン性(取引が公開されているので悪いことをしたらすぐに分かる、つまり証人がたくさんいる)を持つことで対処しています。ブロックチェーンを利用した仮想通貨は、使われるようになってから一度も止まったことはありませんが、大きなニュースにもなったように「仮想通貨が大量に流出した」という事件も何度かあります。安全性の面で課題は残っているのです。
サトシ・ナカモトによって実用化された
現在「ブロックチェーン」と呼ばれるものは、2008年にサトシ・ナカモト Nakamoto, Satoshiによって提唱されたものです。日本人の名前ですが、この人物の正体はいまだに不明で、日本人なのかどうかも分かっていません。サトシ・ナカモトは、ブロックチェーンの技術を用いてビットコインという仮想通貨を考案しました。彼はまさに世紀の大発明をしたと言えます。
ブロックチェーンの仕組み
ブロックチェーンの中身の話に入りたいと思います。ブロックチェーンという名前は、ブロックがチェーンで1本に繋がれている様子に似ていることからそう名付けられました。取引内容などを1ブロックにして、繋いでいくイメージです。これは誰でも読み取ることができるものになっていて、非常に長い綿々と続く台帳を想像してください。
ブロックチェーンに求められること
ブロックチェーンが対処すべきタスクは以下の7つです。
誰のものかを記述する
所有権を保護する
業務処理のデータを格納する
台帳が改ざんされないようにする
台帳を全員に公開する
台帳に新しいブロックを追加する
複数のブロックが同時に作られてしまった時にどのブロックが正しいか特定する
ブロックは、作る機能を持っているパソコンがあれば誰でも作ることができるので、同時にたくさんの人がブロックを作る計算をしていることになります。(仮想通貨の場合、非常に複雑な処理に成功した人は報酬を受け取ることができます。)ブロックチェーンは一個一個のブロックを繋いでいかなくてはいけないので、違うブロックが同時に複数個繋がれると、チェーンが枝分かれしてしまいます。ですので、そうなるのを防ぐ機能が働いています。
所有権を文書化する
ブロックチェーンで所有権を文書化する方法と、譲渡する方法についてです。ブロックチェーンでは各々の人の預金残高を示すのではなく、所有者の譲渡を全て記録したリストで管理されます。(自分の預金残高を表すには、また別の方法が必要になってきます。)そこで、ある所有者から別の人へ譲渡したというデータを作る必要があります。ブロックの中身には次のような情報が含まれています。
お金を送る側のアカウントのID
お金を受け取る側のアカウントのID
送金する金額
処理が行われる時間
システムを使用するのにかかる手数料
お金を送る側が送金に同意したという証拠
銀行の振込みと同じような内容になっています。これらのデータが全て正しく含まれていれば、所有権を表すことができます。仮想通貨以外にもブロックチェーンの技術は使われていて、ブロックの中身は用途により違います。
デジタル指紋(その人を特定できる暗号)でデータを識別する
データが正しいものかを説明するために指紋に似た値を利用します。数字やアルファベットが使われた値です。戦争の時に利用されていた暗号のように、読む人が読めば分かる、というようなものです。デジタル指紋はデータが正しい唯一のものかを識別することができます。
暗号から伝えたいことを導き出すには、「ハッシュ関数」という計算方法が使われています。これを使えば他の誰かに途中で盗まれたり、データを改ざんすることができなくなります。デジタル指紋を用いることで、データが変更されていないのを確認することができるのです。
2つの鍵で安全性を得ている
デジタル指紋のセキュリティを強化するものとして、鍵があります。これは集合住宅のポストのように、郵便屋さんは入れられるけど、同じ口から取り出すことは出来ず、反対側の鍵の番号を知っている住人だけが開けられるという仕組みに似ています。
ブロックチェーンでは2種類の鍵を使います。一つは「公開鍵」で、誰でも郵便ポストに投函できるような鍵、もう一つは「秘密鍵」で、自分しか知らない秘密の鍵です。公開鍵は暗号文を作る時に使用され、それを元の状態に戻すのには秘密鍵が必要、という仕組みをブロックチェーンでは採用しています。
ブロックチェーンの活用方法
活用方法を示す前に、まずはブロックチェーンの特性をまとめたいと思います。
- 不変であり、書き換えができない追加専用
- 順序や取引時間が明確に分かる
- 透明性がある
- 人を識別し、認証や承認を行う
- 整合性があることを確認する
このような特性を活かして次のようなことに活用することができます。
デジタル通貨の所有権と譲渡の管理
税金の計算と徴収、税金逃れや二重課税を防ぐ
医療記録の作成と格納
アイデンティティの証明と認証
音楽などデジタルグッズの著作権・譲渡の管理
不動産などの契約を素早くする、所有権を明確にする
デジタル投票用紙の作成、配布、集計
貿易の書類手続きを効率化する
ビジネス活動の監査の結果を追跡可能にする
おわりに
ブロックチェーンについて、分かりやすくご紹介してきました。ブロックチェーンは仮想通貨を可能にしたシステムですが、様々な利点があるため、今後色々な分野で活用されていくことになっています。そのため、ブロックチェーンの技術が使われていると知りながらあるサービスを利用する機会もどんどん減ってくるかもしれません。人の生活の中で、例えば通貨は物々交換から始まり、金や紙幣、銀行の仕組み、クレジットカードの仕組みなど時代を追うごとに進化してきています。生活をもっと便利にしてくれると期待されているのが、今まさにブロックチェーンなのです。