ブロックチェーンとは、ビットコインを始めとした多くの暗号通貨の根幹となる部分であり、中央管理者を存在しない取引を可能とする技術です。ビットコインを発明したナカモトサトシという人物が提唱したブロックチェーンという技術ですが、これが非常に画期的であった為、ビットコインは世界中の人々から注目されていきました。そんなブロックチェーンのシステムを簡単に解説します。
目次
分散システム
ブロックチェーンは分散システムを元にした、分散型データベースで成り立っており、既存の中央管理型データベースに依存しません。これが、ビットコインを始めとした仮想通貨を非中央集権たらしめる理由です。それではそれではもう一度、中央集権と非中央集権をおさらいしましょう。
中央管理型データベースとは?
一つのデータベース(中央集権)で行う為、大量の取引を高速でさばくことができる一方、データベースの管理者にのみ権限が付与される為、データ改ざん・資産横領などの不正のリスクを伴います。管理者が内部からデータを書き換える事は容易ですし、ハッキング被害に合えば、資産は全て無くなります。日本では、あまりイメージできないかもしれませんが海外では、倒産や横領は、実際に起きる事象として往往に存在するのです。
非中央集権型(分散型)データベース
上記は、ビットコインのブロックチェーンのシステムです。分散型データベースでは、複数のノード(データ接続するコンピュータのイメージ)を立てる必要があるため、データ量は膨大になりますが、1つのデータベースが壊れても、他のデータベースで仕組みを支えることができ、また全体でシステムを支えるので、1つ1つのデータベースの性能をそれほど高くしなくてもよくなるなどのメリットがあります。管理者がいない形でシステムを維持する場合、複数で管理している為、改ざんが非常に難しいというメリットがあります。一つのチェーンが改ざんを行ったとしても、その他のチェーンとデータの内容が違えば、改ざんされたことがすぐにバレてしまう仕組みです。取引は24時間行われ、常にお互いを監視しています。これを支えているのはP2Pネットワーク(特定の管理者を介してではなく、ユーザー同士が直接データのやりとりをする)方式です。
データの一本化
ブロックチェーンでは、今までの全ての取引のデータを全て記録しています。上記の分散型ネットワークでは、全てのノード(現在7500台以上)でデータを記録している為、改ざんするためには、全てのデータを変更する必要があり、現在の取引量を鑑みると、実現不可能となっています。仮に一つのデータのみ改ざんすれば、すぐに別のものとわかってしまう仕組みとなっています。
データの暗号化
ブロックチェーン上でやり取りされるデータは、インターネット上でのやり取りとなり、常にハッキングされるリスクにさらされています。その為、仮にハッキングされたとしても、内容を読み取れない形に変換する事で、情報の漏洩を防ぎます。これを暗号化と言います。
ここでは、女性社員は、男性社員にだけこの暗号が解ける様に、「公開鍵」を渡しています。これを仮想通貨で行えば、例えば、ビットコインでを送金する際、ある特定の人にBTCを送付して、その人に公開鍵を教えることで、その人だけがBTCを使えるようにするといったことが可能です。
暗号化をすると、特定の人だけが情報を見ることが出来ると言った仕組みづくりが可能になります。このようなことから、現在、仮想通貨は、海外ではCrypt currency(暗号通貨)と呼ばれているのです。
ハッシュ関数
ハッシュ関数とは、平文から暗号化される際に使用される関数のことです。その特徴として
①衝突耐性(暗号化した文字列が重複しない)
②ハッシュ値から元のデータを推測できない
という点が挙げられます。
ハッシュ関数は、任意の入力値を与えた場合に、どんな値となるか予想することが出来ません。ハッシュ関数を用いると、入力した値が一桁でも違うと、全く関連性の無い暗号が得られます。また、長さの異なる文字列を与えても、常に一定の桁数となる点も特徴の一つです。
例えば、BitcoinとCitcoinという2つの言葉をハッシュ関数に掛けた場合
hash("Bitcoin")→1CftqtV7crWHT9jH8LMgK1X3W2VDmgCEGw
hash("Citcoin")→3Dwf6jR2LHGCNY1jgQk1qoW1tsmawv1GaQ
hash("Dcoin")→(gQij2U09agmHGiIFQgaeu'8U3bj8Y72YgRTw
と言った様に、1文字しか変更していないにもかかわらず、出される数字は大きく異なります。
さらにブロックチェーン上で使用されているSHA2-256というハッシュ関数は、入力の値の桁が違ったとしても、暗号は必ず64桁に固定されています。つまり、任意の値を入力すると適当な64桁の値を返してくれる関数なのです。これらの特性により、データが同じものか、異なるものかがすぐに分かるような仕組みとなっています。ハッシュ化されたデータは、データ送信者がデータ受信者に伝えた「公開鍵」でのみ受信(暗号解読)が可能となっています。
電子署名
電子署名は、「誰が行ったのか?」を証明するための作業です。ブロックチェーンの取引情報には、必ず電子署名が記載される仕組みとなっています。これにより、データが誰から誰に送られたのか、今までの取引の履歴を遡って確認することが可能です。全てのブロックチェーン上に電子署名が施されることで、データ改ざんや、すり替えを不可能とさせています。
主なブロックチェーンのシステムの大まかな概要は以上となっています。
現在、ブロックチェーンには大きく分けて2つのタイプが存在し、ビットコインを始めとした、特定の支配者や管理者を持たない、非中央集権的(トラストレス)なパブリックブロックチェーンと企業や組織が、その時間や費用的なコストの削減のために開発されているプライベートブロックチェーンの2つに別れます。
パブリックブロックチェーン
パブリックブロックチェーンは、全ての人々にオープンになっているブロックチェーンです。最も有名な仮想通貨である、ビットコインの誕生と共に発案されたシステムで、世界中の誰でも自由にノードを立てる事が可能です。特定の管理者がいないパブリックブロックチェーンでは、意思決定(合意形成)の際に、最も重要になるのが、経済的なインセンティブとなります。誰でも参加できるという特徴のあるパブリックチェーンでは、多数決による合意形成は、全ノードの数が把握できないため難しいです。
パブリックブロックチェーンでは、複数の選択肢がある場合、どちらを選択するかは、利用者に委ねます。結果正しい選択をした(利用者に選ばれた)マイナーだけが利益を享受出来る仕組みとなっています。(マイニングについては、別記事を参照)
プライベートブロックチェーン
プライベートブロックチェーンとは、企業や特定の組織の管理下において、予め決まっている数のノードによって取引の承認がされます。こちらは、パブリックブロックチェーンのように、非中央集権ではなく、特定の管理者がいる中央集権的なシステムになります。特定の管理者がいることで、誰でもノードを建てられるわけでは無いですが、その分、効率よく素早い取引が可能になります。合意形成の方法は、プライベートブロックチェーン内の管理者が多数決の案を出して、それに対して多数決を取る形になります。
パブリックブロックチェーンでは、誰もが自由に資産を管理し、トラストレスな世の中を目指していく。プライベートブロックチェーンでは、既存のシステムのコストや効率を良くする事を目的としており、一概にどちらが優れているということではなく、進化の方向性が違うといえます。