この記事のポイント
  • 不正・改ざんが不可能なデータベース
  • ブロック内のデータを承認して不正・改ざんを防ぐ
  • 金銭的価値の流通から価値自体の流通の時代への媒介材

仮想通貨という言葉が広く受け入れられるようになり、多くのメディアでも取り上げられるようになって来ました。とりわけ、仮想通貨の中でも「ビットコイン」は、世界で最も有名で時価総額が高い仮想通貨ですが、現実のお金と違って実在しない通貨です。現実に存在しないものに高値が付く理由は様々ありますが、その中で最大の要因は「ブロックチェーン」の存在です。

では、ブロックチェーンの価値とは何なのか?

ブロックチェーンはこれまでのインターネット技術では不可能とされていた「非中央集権」型の社会を実現する切り札として、非常に期待されています。そして、このブロックチェーン技術に対する理解の深さはビットコインだけでなく仮想通貨全体への理解へ繋がることでしょう。

本記事では、ビットコインや仮想通貨の根幹を支えるブロックチェーンの全てを、その仕組みの詳細解説を加えながら余すことなく解説いたします。

ビットコインを支える技術 ブロックチェーン

ブロックチェーンの理解を助けるために、まずはビットコインの起源からブロックチェーンの必要性を紐解いていきましょう。

ビットコインの起源とブロックチェーン

2009年にサトシ・ナカモトと言う人物が論文で発表したブロックチェーンは、「非中央集権」型の通貨システムを可能にしました。
例えば、現在日常的に使用されている円やドルといった法定通貨は中央集権型通貨システムです。

ただ、中央集権型通貨システムには、権力の集中による価値の操作というデメリットがありました。
円を例にすると、2012年のアベノミクスが典型的です。アベノミクスは端的に言うと、大量に円を世の中に流通させて景気を回復させる試みも一つの中央集権型の罪と言わざるを得ません。
不景気を改善するために必要不可欠な処置ではありましたが、しかしその一方で円の相対的な価値は下がりました。いわば中央集権型の法定通貨は、国の意思で価値が大きく変動してしまうのです。
そしてお金に限らず、このように絶対権力を持つ機関によって管理されるものは、管理する側の人間に利用者のプライバシーの管理権なども集中してしまう傾向にあり、最近話題となりつつある、facebookの個人情報流出でもこの観点は非常に問題となりました。

フェイスブック事件で露呈したSNSの矛盾をブロックチェーンが救う

そして、ビットコインはこのような中央集権型の通貨システムに異を唱えるような形で、ビットコインとブロックチェーンと言うシステムが発表されたのです。

ブロックチェーンとは

ブロックチェーンとは一言で言えば、「取引を記録しておくとても大きな台帳(データベース)」です。
例えば銀行などで現金のやり取りをした際には、「台帳」に記録を付けて、いつまた誰にお金が支払われたのか、お金の動きを記録していきますが、このような取引の一つ一つをブロックチェーンは、取引情報として一つの大きな台帳に記録してまとめていく役割を担っています。

この際、取引情報、つまり送金処理などのお金の動きは、「トランザクション」と呼ばれ、この複数の取引情報(トランザクション)がまとまったものが、「ブロック」としてまとめられます。さらにこのブロックがあたかも一つの鎖のように繋がっているように保存されているため、「ブロックチェーン」と呼ばれているのです。

ブロックチェーンの特徴・概要

ブロックチェーンには、中央銀行のような一つの管理機関があるわけではなく、「ユーザー同士が管理し合っている」という特徴があります。言い換えると、「複数のノードによって管理される自立分散型データベース」とも表現でき、中央集権型取引台帳と比較して「分散型」取引台帳と呼ばれています。

先ほどビットコインの起源のところでも指摘したように、従来の取引台帳(データベース)の持つ弱点は「中央集権型」であるという点です。

データベースとは文字通りインターネット上の倉庫のようなものです。
この倉庫はインターネットのあらゆる情報を流通・管理するのに必要不可欠なもので、インターネット登場以前とは比べ物にならない利便性とスピードを実現しました一方で、同時に「改ざんと不正も容易にしてしまった」という問題点がありました。ハッキングというスキルを持つ悪意のある第3者が、それこそ自宅にいながら潜入できれば瞬く間に情報が流出してしまうリスクが大いにあります。
それが従来の中央集権型、つまりは情報を一箇所に集めて、管理者が全権を握るような形態のデータベースの弱点でした。

しかし、このブロックチェーン技術は、複数のコンピューターで管理が行われるような仕組みとなっているため、中央サーバー(管理者)が存在せずともデータベース自体はしっかりと稼働し、なおかつ不正や改ざんが起こることがない、という従来型の中央集権型の弱点をほとんど克服したものです。

ではなぜ、中央サーバー(管理者)が存在しなくてもデータベースが稼働するのでしょうか。
それは以下のような仕組みや概念がブロックチェーンという仕組みを支えているからです。

ブロックチェーンを支える技術1 P2Pネットワーク

image

P2Pネットワーク」とは「複数のコンピューターに情報を保存する仕組み」です。従来型では、データベースに記録された情報は中央サーバーに集められますが、P2Pネットワークではそれを複数のサーバーに分散して保存させます。全く同じ情報を分散させて他のコンピューターも持っているということをイメージしてください。
例えば中央サーバーによる管理では、サーバーに不具合が起った場合はシステムそのものが停止してしまいますが、このP2Pネットワークなら一部のサーバーが不具合を起こしても問題なく稼働します。

そして、このP2Pネットワークにおける複数のサーバーの役割を担うのが「ノード」です。いわばブロックチェーンの実質的な管理者です。
ノードは全てが平等で、仕事内容も全く一緒で、例えばビットコインではノードになるのに試験も資格もいらないため、不特定多数のノードが数多く存在します。
こうしてみんなで監視・管理しあっているネットワークが構築されています。

ブロックチェーンを支える技術2 ハッシュ値

image

5a3737e180810ef8aef…

ハッシュ値」はこのように非常にランダムな英数字が複数並んだものです。これはデータベース上にある情報に「ハッシュ関数」というものをかけた結果です。ブロックチェーンの情報は全てハッシュ化されて守られます。ハッシュ関数というのは、情報の内容が一文字でも違えば全く違ったハッシュ値になり、ハッシュ値から元の情報を復元させるのはほぼ不可能な特質を持っているため、情報を取引情報(トランザクション)などもよりセキュアに保つことが可能です。
言い換えるとこれは一つの「暗号化」であり、ブロックチェーンが改ざんされにくいとされる所以でもあります。

ブロックチェーンを支える技術3 ナンス

ナンス」とはコンピューターがランダムに選ぶ数値のことです。ビットコインのノードたちはブロックチェーン内の情報にこのナンスを入れてハッシュ化してを繰り返し「0が並ぶハッシュ値」を探し当てます。

例えば以下のような数値です。

003737e180810ef8aef…

一見無意味なように思えますが、ノードはこれを全員で行うので改ざんされていないデータなら、全員同じハッシュ値が出るはずです。万が一違う計算結果を出したノードがいた場合、そのハッシュ値はコンピューターの不具合か改ざんされた情報だったと見なされ、自動的に破棄されます。

ブロックチェーンを支える技術4 マイニング

ビットコインのブロックチェーンでは、前述のナンスを導き出す計算作業を一番早く終えたノードには報酬としてビットコインを与えます。これをお宝の採掘に見立てて、「マイニング」と呼びます。

ブロックチェーンの仕組みの解説

例えばこのような取引をイメージして見てください。

  • Aさんが自身の持つビットコインのうち2BTC(ビットコインの単位)をBさんに送信。ブロックチェーン内に「AからBに2BTC送信」というトランザクションが記述され暗号化される
  • 全ノードがブロックのトランザクションを計算する
  • 計算が終わりノードの「合意」によりブロックが承認、ブロックチェーンに「BがAから2BTC受信」と新たに書き込まれ取引が完了する。

以上のような行程でビットコインの取引が完了します。この取引システムの優れている点は「仲介役が存在しない」という点です。管理者であるノードは、あくまでもトランザクションが正しいかどうかを確認しているだけであり、この確認作業こそ、ブロックチェーンの仕組みそのものということができます。

ここまでP2P、ノード、ハッシュ、ナンス、マイニングとブロックチェーンを支える技術を見て来ましたが、これらがどう影響しながら繋がっているのか、実際にこのような取引がブロック内にどのように取り込まれ各ノードに確認をされていくのかみていきましょう。

ブロックチェーンの役割

ブロックチェーンの役割は、トランザクションが正しいかどうかを確認作業です。言い換えると、「P2Pネットワークを利用した複数のノードによる管理の下、特定のナンスを持つハッシュ値を見つけるマイニングで、ブロック内のデータを承認して不正・改ざんを防ぐ」ということです。

今は「なるほどマイニングというもので特定のナンスを持つハッシュ値を見つければ、不正が防げる仕組みなのだな」程度の理解で構いません。
では具体的に見て行きましょう。

ブロックの構造

ブロックチェーンとは、取引情報(トランザクション)がまとまった大きなデータベースのことですが、それは2009年の誕生の瞬間から現在まで途切れることなく、続いています。
そして、文字通り「ブロック」と「チェーン」という2つの用語からなり、ブロックには数1000ものトランザクションが格納されています。
また、ブロック内にはトランザクションの他に、もう一つ重要な値「ハッシュ値」というものも格納されています。

このブロックが下記のように無限に連結しているイメージを持ってください。

ブロック1 = トランザクション + ハッシュ値
ブロック2 = トランザクション + ハッシュ値
ブロック3 = トランザクション + ハッシュ値 …

Aさんの取引データもここに格納されました。

不正防止ステップ1 ハッシュ値

ここで例えば、ブロック1のハッシュ値の一部に不正があった場合や、ミスがあった場合、続くブロック2,3も立て続けに違う値になるのはお分かりでしょうか。先ほどのハッシュの特性である、少しでも入力値が違うと出力値が違うという「不可逆性」の影響です。

そして例えば10分おきに生成されるビットコインのブロックならどうでしょうか。あるブロックにある情報を書き換えても、そのあとに10分後にまた新しいブロックが生まれてしまうため、無限に計算し直す手間が増え、不正を起こす方も骨が折れる作業を行わなければならないはずです。そして、この「面倒さ」が一つ不正防止に役立っているのです。
しかし、話はそれほど単純ではありません。というのも、ハッシュ値の計算自体はとても簡単で、たとえ1万個のハッシュ値でさえ、ある程度のスペックのPCなら計算が難なく行えるほどです。簡単に解読され、書き換えられたらブロックチェーンは破綻しかねません。そこで考えられたのが、「ナンス」という数字でした。

不正防止ステップ2 ナンスとマイニング

ナンスはハッシュ値の計算をより複雑にします。具体的にはナンスをブロックの中に入れてしまおうという発想です。

ナンスを含むブロック構造

ブロック = ナンス + トランザクション + ハッシュ値

ナンスを含むブロックはこのように変換されます。

ナンスという数字を含めることにより、ビットコインのブロック構造は前述の通り、『①ナンス』と『②トランザクション』と『③ハッシュ値』となっています。
ここから生み出されるハッシュ関数を用いたハッシュ値は前述のナンス抜きのハッシュ値よりも何倍も計算能力を必要とする値となります。
そして、中でもとりわけ、出力値が000000…といった具合に並ぶナンスを見つけ出すことをルール化すれば、その結果を得られるようなナンスをひたすらに1から順に足していって計算することになります。

例えば、ここで55というナンスを入れ込むとハッシュ値に0が並びました。この55という数字を見つけ出すために、コンピューターはひたすら適当なノンスを入れ込んではハッシュ化してを繰り返します。

This is a pen 55 → 006d8976e9a10ed5bxs…

ビットコインのマイニングでは、このハッシュ値を見つけ出すことで、ビットコインの新規発行を行うことが可能になる仕組みを採用しています。まさにマイニングとは、簡単に言えば、かなり地道なハッシュ値探し = ナンス探しをするための作業になります。そして、この作業を誰よりも早く行えたマイナーただ一人に対してビットコイン報酬が支払われます。

不正防止のためのステップ3 取引の承認作業

マイニングが完了し、見事ハッシュ値が決定すると、新しいブロックの情報(先ほどの送金の情報)はP2Pネットワークを通じて、全てのノードに通知。最終チェックが行われます。各ノードが提出したハッシュ値の情報とトランザクションデータから

・仮想通貨を2重に使ったり不正をしていないか
・送金情報を流したAさんが本当にその送金情報の保持者なのか

のチェックを行い、見事ノードからの承認が下りるとネットワーク全体での合意となり、見事ブロック承認、チェーンに連結されます。

こうしてみてくると、マイニングはブロックチェーンにブロックを連結させる橋渡しをしていることがよくお分りいただけたと思います。
まさにブロックチェーンはこのような一連のブロック承認連結までの流れがただ繰り返されて長くなったデータベースです。
それは地道な正解ハッシュ値を見つけ出すマイニングにより支えられています。

ブロックチェーンのメリット

信用性が高まる

関係するすべての人がブロックチェーン内のブロックを確認できるので、取引の信用性が高くなります。多くの人が見ている中で、不正をすることは考えにくいですが、仮想通貨の取引は、まさに多くの人に見守られながら取引をしている様なものです。取引内容の情報が全てブロックに含まれているので、実際の通貨の取引よりも、信用のある取引ができるのがメリットになります。

不正防止

信用性が高まると、今後は不正行為を行いにくくなります。これも大きなメリットです。取引の内容がブロックに収められており、しかも不正が行われるとブロックチェーンの認証に問題が生じるので、早期に不正が発見できます。

24時間送金できる

例えば、現状のシステムで遠くにいる相手に送金するとしたら、銀行振込が主流です。しかし銀行振込は銀行の営業時間に左右されるもので、営業時間外の振込は翌営業日に相手先の口座に反映されます。前述の通り、ブロックチェーンは仲介役が存在しないため、24時間いつでも送金可能で、当日中に相手に届きます。

送金コストが安い

こちらも仲介役が存在しないため、中間に介在する人数分の手数料がありません。その分送金コストは安くなるのはお分かりでしょう。ただし、ビットコインは現在システム運営に問題を抱えているので少々割高です。アルトコインの中には無料となっているものもあります。

価値の流通を可能にする

「価値」とはお金や債権などの資産のことです。
従来ではそれらのやりとりには、前述の通り銀行や会社などの仲介役が必要でした。しかしブロックチェーンは、仲介役のいらない流通を可能とするシステムです。絶え間なく価値が移動するビジネスシーンにおいて、このようなシステムのもたらす経済効果は計り知れません。

ブロックチェーンの抱える課題

取引に時間がかかる

前述の通り、ブロックチェーンはブロックを全ノードが合意して承認することで取引が成立します。裏を返せば承認されるまで取引が確定されないということです。
ビットコインの場合はブロック承認にかかる時間は10分程度です。振込ならさほど問題ありませんが、現状の仕様ではコンビニやレストランでの即時決済にはあまり向いておらず、目下世界中の技術者がその技術を改良すべく奔走しています。

その一つが「ライトニングネットワーク」です。
通常、トランザクションはブロックチェーン上で行われますが、複数の秘密鍵を用いて二者間の「ブロックチェーン外(オフチェーン)」で取引を行い、確定作業のみをブロックチェーン上で行うというペイメントチャネルという方法もあります。このペイメントチャネルの考え方を応用し、ペイメントチャネルで間接的に繋がっている相手に対してもオフチェーン取引を可能とする技術がライトニング・ネットワークです。
ライトニング・ネットワークはトランザクションを大きく減少させることができます。しかし、特定のハブにルーティングが集中する問題なども介在するため、現在ではテスト開発の段階です。しかし、現状正式版ではないもののソフトウェアは公開されており、実質的に機能は利用できます。そのため、接続用のノードを立ててライトニングネットワークを利用する利用者は増えつつあります。

修正ができない

不正・改ざんが不可能ということは、後から書き換えることが不可能ということです。その為ブロックチェーンは、プログラムやレポートなど後から修正する可能性のある情報の管理には向いていません。

スケーラビリティ問題

ビットコインにおける1ブロックの容量は、1MBです。ビットコインでは、10分に1つのブロックが作成され、その中に、10分間分の取引情報を記録するしくみとなっています。そのため、おおよそ10分で決済が可能となるのです。しかし、ビットコインの取引が急激に増えた場合、1ブロックの容量を超えてしまいます。すると、記録ができなくなり、取引の処理が進まないという問題が発生します。

ブロックサイズを変更するという手段もありますが、セキュリティやネットワークなどの問題点が指摘されています。また、さらに取引量が増えた場合には再び対応が必要となるなど、根本的な解決にはなりません。ビットコインの容量オーバーはいずれ起こりうることで、現在では解決方法を模索中です。現在有力な解決方法として考えられているものがいくつかあります。その中のひとつは、ブロックの中の署名データに関する部分を新しい領域へ移動させる「Segwit(セグウィット)」です。しかしながら、これもいずれ容量が増えると対処が必要となります。そこで現在注目されている技術が、先ほどのライトニング・ネットワークとなっています。

ブロックチェーンの種類

ブロックチェーンには2つの種類があり、それら二つの「パブリック型」と「プライベート型」でシステムが異なっています。

パブリック型

パブリック型では、中央集権の機関がありませんので、誰でもマイニングに参加することができます。通常の通貨は管理をする機関があるのが普通なのですが、このパブリック型のブロックチェーンは、ビットコインの様に誰でも参加できるのが特徴です。

プライベート型

プライベート型では、管理者がいるというのが大きな特徴です。管理者が許可をして初めてマイニングが行われるので、コントロールの元に置かれているブロックチェーンです。

主な活用先として、金融機関など管理している機関の元での開発や実用化が期待されます。

ブロックチェーンの仮想通貨以外の応用

image

ビットコインと共に生まれたブロックチェーンは、通貨の流通・管理システムとして発展してきましたが、現在は様々な分野に応用が効くとされて注目されています。

金融業界

ブロックチェーンは価値の流通をスピーディーかつ低コストで行えることを先ほど解説しました。そして、絶えず価値が動いているのが銀行や証券会社、送金会社などの「金融業界」です。ブロックチェーンとは仲介役を担うよう組織を必要としないシステムとして開発されたものですが、これまでそういった役割を担っていた組織が注目しています。

不動産業界

不動産などの取引など、高額な手数料がかかる取引にブロックチェーンの技術を使って、信憑性の確立や時間やコストの削減に応用されてもいます。

プラットフォーム

プラットフォームはインターネット上にある「場所」です。わかりやすい例が。様々な企業や個人がアプリを提供する場所として有名な、「App Store」や「Googleplay」です。このような分野でもブロックチェーンは、親和性が高いとされています。現在でも、アプリを開発するアプリケーションプラットフォームや、ネット上の共同倉庫であるクラウドサービスなど様々な分野で開発・運営されています。

ブロックチェーンに関する団体

ブロックチェーンに関する団体は、日本に大きく分けて2つあります。それぞれの概要や活動内容を見てみましょう。

ブロックチェーン推進協会 (BCCC)

ブロックチェーンの技術を国内で進めるために、資金調達支援をしていたり、世界のブロックチェーン団体とも交流し、その情報を国内でも発信しています。ブロックチェーンに関する情報を共有する目的で設立されています。

日本ブロックチェーン協会 (JBA)

この団体は、ブロックチェーンの技術を健全にビジネスに活かせる環境づくりや、利用者を保護する環境を整備していく事を目的に設立されています。

2014年9月に前身の団体が設立され、2016年4月25日に日本ブロックチェーン協会に変更されてから、ブロックチェーンの技術をインフラへの応用させるために運動を続けています。

ブロックチェーンが学べる本5選

さらに仮想通貨の知見を深め、ビットコインとブロックチェーンについて効率的に学んで見たいという方にオススメの本を5冊ご紹介します。

いちばんやさしいブロックチェーンの教本

IT分野の第一人者である杉井靖典氏によるブロックチェーンの解説本です。タイトルの通り、専門的な話が多いブロックチェーンを初心者にもわかりやすく説明しています。しかし、その内容はとても詳細に掘り下げられていて、ある程度概要を知っている中上級者にもお勧めできる書籍となっています。まずはこちらで理解を深めることをオススメします。

アフター・ビットコイン

こちらの書籍は、ビットコインの次に注目されて発展するのは「ブロックチェーン」そのものであるという自論を元に解説されたものです。
ブロックチェーンの仕組みもわかりやすく説明されており、さらにブロックチェーンがもたらす経済的・国際的な発展を考察していて、経済書としても非常に興味深いものとなっています。

入門 ビットコインとブロックチェーン

ビットコインやブロックチェーンについて、Q&A方式で初心者向けに解説している本です。ブロックチェーンの革新性について理解を深めるために役立ち、最初に読む1冊としてもおすすめします。

この1冊でまるごとわかる ブロックチェーン&ビットコイン

ブロックチェーンに関するキーワード解説や図解が豊富な解説書です。ブロックチェーンがビジネスにもたらす未来や、ブロックチェーンに対する企業の動向についても触れられています。

ブロックチェーン・レボリューション

ビットコインやブロックチェーンが経済や社会にどのような変革を与えるのかを取り上げています。ブロックチェーン技術の可能性と課題の両方について学べる本です。

まとめ

今や通貨だけでなく、様々な分野にも応用できる技術としてブロックチェーン。
ブロックチェーンはビットコインとともに生まれ、そして世界的に大注目を浴びるようになりました。そして、現在はビットコインのみならず、ブロックチェーン単体でも脚光を浴びてきています。

ブロックチェーンにより、これまで不可能だった価値の流通が始まろうとしています。写真の権利、土地の権利、ありとあらゆる価値がシームレスに即座に連携することで、社会がより早くより便利な世界へと変革しようとしています。