ビットコインが誕生したことでブロックチェーンという技術に注目が集まっています。 実は、ブロックチェーンという技術は仮想通貨の世界に限られた技術ではありません。私たちの生活を大きく変える可能性を持っているとまで言われています。では、なぜブロックチェーンという技術がそこまで注目を集めているのでしょうか 。

ブロックチェーンとは

ブロックチェーンとはそもそも分散型のシステムのことです。従来、インターネット上で用いられていた中央集権型のシステムとは全く異なるものです。世界中の膨大な数のパソコンを暗号通信で接続することで、強固なシステムを構築することができます。情報が膨大のパソコンに点在していることで一部のパソコンが攻撃を受けても、システムは安全に動き続けます。このシステムを壊すためにはシステムに参加している全てのパソコンを同時に攻撃する必要があります。このような事態が起こる可能性は限りなく低いので、システム障がいなどの問題が起きる可能性も極めて低いと言われています。

ブロックチェーンで用いられる技術とは

ブロックチェーンのメリットである強固なセキュリティーを構築するための技術として、P2P(ピアツーピア)とハッシュ関数、公開鍵暗号方式が代表的なものです。

技術① P2P(ピアツーピア)

中央集権型 ネットワーク
ネットワークの管理役としてサーバーが存在する

一般的な中央集権型のネットワークでは、パソコンの役割はサーバーとクライアントの2つに大きく分類されます。サーバー側のパソコンがデータを管理し提供する役割を担う一方で、クライアント側のパソコンはサーバーに対してデータを要求する役割になります。 この関係が固定されており、変わることはありません。 サーバー側のデータが改ざんされると クライアント側からサーバー側の情報を修正することは難しいです。

分散型 ネットワーク
ネットワークの管理は全パソコンが担う

一方で、P2P(ピアツーピア)では、サーバーとクライアントの関係が固定されておらず、 状況に応じて関係を変更することができます。ネットワークに参加するそれぞれのパソコンがデータを管理し提供することもあれば、他のパソコンにデータを要求することもあります。このように、パソコン同士の関係が対等であるため、一部のパソコンの情報が改ざんされたとしても他のパソコンの情報を用いて修正させるようなプログラムを作ることもできます。

技術② ハッシュ関数

ハッシュ関数とは、あるデータを入力すると、そのデータに対応した一意のハッシュ値を出力してくれる関数。ハッシュ関数に入力するデータが全く同じであれば、出力されるハッシュ値は同じです。しかし、入力するデータが少しでも異なっていると、全く違うハッシュ値が出力されます。ハッシュ値はランダムに出力されるため、ハッシュ値から元のデータを推測することは極めて困難とされています。

技術③ 公開鍵暗号方式

公開鍵暗号 秘密鍵 公開鍵
公開鍵暗号方式では鍵が2つ

公開鍵暗号方式とは、暗号化と復号化に別々の鍵(秘密鍵と公開鍵)を用いる方式。重要なデータを送信する側が秘密鍵と公開鍵の両方を作成し、データの受信側に公開鍵のみあらかじめ送信しておくことで、安全に重要なデータを送信することができる仕組みとなっている。

共通鍵暗号 共通鍵
共通鍵暗号方式では鍵が1つ

共通鍵暗号方式では暗号化と復号化に同じ鍵を用いるため、鍵の扱いに細心の注意を払う必要があり、安全面で大きな問題を抱えていた。

公開鍵暗号方式を用いて、ハッシュ値が正しいものかを判断していく仕組みとなっています。正しいと判断されたブロックが1つずつつなぎ合わさり、チェーンのようになっていくことから「ブロックチェーン」と呼ばれています。

ブロックチェーンではどうして不正ができないのか

ブロックチェーンでは、これまで説明してきた技術を用いて、強固なセキュリティーを構築しているのが一つの特徴です。では、ブロックチェーンではどうして不正が行われにくいのでしょうか。

理由① 管理の中心となるサーバーが不在

サーバー 管理 無
ブロックチェーンではサーバーが存在しない

ブロックチェーンでは、P2P(ピアツーピア)ネットワークを採用しているので、システムの構築に参加しているパソコン同士は相互にデータの送受信を行えます。そのため、一部のパソコンを攻撃されたとしても、他のパソコンのデータを用いて正しいデータを再生することができます。

理由② ブロック同士がハッシュ値でつながれている

ブロックチェーンの各ブロックにはブロックのハッシュ値が含まれています。そのハッシュ値を用いて正しいブロック同士が鎖状につなぎ合わさっています。どこでブロックのデータの一部を書き換えたとしても、出力されるハッシュ値が異なるので、そのブロックは正しいブロックだと判断されることはありません。

理由③ ハッシュ値の計算に労力がかかる

ブロックチェーンにおいてはハッシュ値によって各ブロックが正しいか判断しています。では、新たに追加されるブロックのハッシュ値はどのように求められているのでしょうか。

仮想通貨 マイニング

ビットコインのブロックチェーンにおいては、Proof of work(PoW)という認証方法を採用しており、条件を満たすハッシュ値が見つかるまでひたすら単純計算を繰り返すことになっています。鉱山などで鉱石を発見する作業に似ていることから、「採掘」や「マイニング」と呼ばれています。金があるとわかっている場所でも金を見つけるのには相当な労力がかかるのを同じように、正しいハッシュ値を見つけるのには大変な労力を必要とします。そのため、不正を行おうとしても、圧倒的な数のパソコンの処理能力には勝てないので、不正は行われにくいとされています。

理由④ 一番長いブロックが正しいというプログラム

ブロック 正しい 長い
一番長いブロックが正しいブロックとして認証

ブロックチェーンではブロックの認証過程においてブロックが複数に分離することがあります。そのときに、どのチェーンが正しいチェーンなのか判断する根拠として、最も長くつながったチェーンが正しいものだと判断し、その他のチェーンについては破棄されるようなプログラムになっています。一般的にはブロックが6以上つながっていると、正しいチェーンとして認識されるとされています。