ブロックチェーンの基本

ブロックチェーンは仮想通貨を中心に話題になっていますが、仮想通貨専用ということはなく、VPSでも利用できる技術です。今回は、ブロックチェーンのソフトをインストールする前の予備知識として、ブロックチェーンの基本について解説します。

 

 

■進化が進むブロックチェーン

■ブロックチェーンは特殊なデータベース

■既存の技術を組み合わせて実現されているブロックチェーン

■パブリックブロックチェーンとプライベートブロックチェーン

 

 

■進化が進むブロックチェーン

「ブロックチェーン」という言葉は、ここ2~3年で非常によく耳にするようになりました。ブロックチェーンは、Bitcoinをはじめとして、仮想通貨のベースとなる技術として知られています。

しかし、「ブロックチェーン=仮想通貨」というわけではありません。仮想通貨以外にも様々な使い道が模索されていて、研究や開発が行われ、進化が続いています。

オープンソースで開発されているブロックチェーンも複数あり、WebARENAのVPS「VPSクラウド」にインストールすることも可能です。実際のインストール事例は次回に紹介しますが、その前段階として、今回はブロックチェーンの概要を解説します。

 

 

■ブロックチェーンは特殊なデータベース

「ブロックチェーンとは何か?」については、簡単には言い表しにくいです。ブロックチェーンはまだ新しい技術であり、関係者の間でも定義が明確に定まっていない状態で、「これがブロックチェーン」と断言することはできません。

極論すれば「ブロックチェーンはデータベースの一種」と考えることもできますが、リレーショナルデータベースなどの一般的なデータベースとは、異なる性質を持っています。そこで、ブロックチェーンの主な特徴を述べていきます。

 

・トランザクションの記録に使う

ブロックチェーンの大きな特徴として、「何を保存するために使うのか」という点が挙げられます。

一般的なデータベースでは、様々な用途に応じて、何を保存するかをその都度考えることができます。一方、ブロックチェーンは、原則として「トランザクション」(Transaction)を記録するためのデータベースになります。

トランザクションとは、「価値の移転の履歴」を表すデータです。例えば、「Aさんの口座からBさんの口座に1万円を送金した」というデータは、「『1万円』という価値を、AさんからBさんに移転した」と考えることができ、トランザクションの一種です(図1)。

 

図1 トランザクションは「価値の移転の履歴」を表すデータ

図1 トランザクションは「価値の移転の履歴」を表すデータ

 

 

 

・データの改ざんができない

一般的なデータベースでは、一度保存したデータを後から変更したり、削除したりすることは、そのデータベースにアクセスする権利がある人なら、誰でも自由に行うことができます。

しかし、ブロックチェーンに保存されたデータは、変更したり削除したりすることができません。変更できないということは、「悪意を持ってデータを改ざんする」ということもできないことになります。

 

・P2Pのシステム

ブロックチェーンでは、多数のコンピュータ(ノード)が同じ処理をしてデータを管理するようになっています。「管理的な役割をするノード」というものはなく、すべてが共通の役割を持っています。「P2P」(Peer to Peer)のシステムの一種だと言えます(図2)。

P2Pなので、システムの中の一部のノードが故障したりしたとしても、それでシステム全体が停止することはありません。

 

図2 P2Pのシステム

図2 P2Pのシステム

 

 

 

■既存の技術を組み合わせて実現されているブロックチェーン

ブロックチェーン自体はここ数年で盛り上がってきた技術ですが、全くの新しい技術というわけではなく、既存の技術を巧みに組み合わせたものになっています。

中でも、「公開鍵暗号」や「ハッシュ」は以前からあるポピュラーな技術で、ブロックチェーンの基盤ともなっています。

 

・特定の二者の間で情報を伝える「公開鍵暗号」

まず、「公開鍵暗号」という技術が非常に重要です。公開鍵暗号では、「秘密鍵」と「公開鍵」の2つを使って、暗号化とその復号を行います。秘密鍵で暗号化した情報は、公開鍵でのみ復号することができます。一方、公開鍵で暗号化した情報は、秘密鍵でのみ復号することができます。また、「秘密鍵」と「公開鍵」の名前の通り、秘密鍵はそれを作った人が厳重に保管しておく必要がありますが、公開鍵は公開しても問題ありません。

公開鍵暗号を使うと、特定の二者の間で情報を伝えることができます。ブロックチェーンでは、ある人から他の人に価値を移転する際に、公開鍵暗号を活用しています。

 

 

図3 公開鍵暗号を使った暗号化

図3 公開鍵暗号を使った暗号化

 

・データの改ざんを見つける「ハッシュ」

ブロックチェーンには「データを変更できない」という性質がありますが、このために重要な技術として「ハッシュ」(Hash)があります。

ハッシュとは、ある種の複雑な計算(ハッシュ関数)を行って、入力値からまったく推測がつかないような出力値(ハッシュ)を得る仕組みです。また、入力値が少しでも違うと、ハッシュも全く異なる値になります。このため、ハッシュを検証することで、元のデータが少しでも変化していれば、「変化している」ということがすぐに分かります(表1)。

ブロックチェーンでは、データのブロックを作成する際に、前のブロックのハッシュに依存する値を記録していて、ブロック同士が連鎖(チェーン)的につながるような形になります。

そのため、あるブロックのデータを書き換えると、それ以後のブロックのハッシュとの整合性が取れなくなってしまいます。これによって、データを書き換えることができない(=改ざんできない)という性質が得られます。

 

元の値 ハッシュ
This is a pen. 5a3737e180810ef8afea4b1125190febcb86980a2b3e8a99140e42b1ccf18efd
This is a pan. b821aef5d6ef2d6f43064a026cdd891502a0affc8d07382d1e6ac93ee39500a0
This is a pin. f5e321cf3a4df673a87febb06a1cb76247fd15e32b70ca282232f86348339679

表1 ハッシュの例(SHA-256)

 

 

■パブリックブロックチェーンとプライベートブロックチェーン

ブロックチェーンの実装は1つだけではなく、複数の実装があります。それらを大きく分けると、「パブリックブロックチェーン」と「プライベートブロックチェーン」の2つに分かれます。

パブリックブロックチェーンは、そのネットワークに誰でも自由にノードを接続することができるブロックチェーンです。パブリックブロックチェーンの代表として、Bitcoinを挙げることができます。

パブリックブロックチェーンでは、ノードを提供してくれる人に対して、「正しい人が得をする」という経済的なインセンティブを与えることで、多数のノードの間で合意を得る仕組みを取っています。

プライベートブロックチェーンは、特定のコンピュータのみそのネットワークに参加することができます。企業が組織内の取引を管理する場合など、特定のユーザーしか使わない場合に、プライベートブロックチェーンを使うことが考えられます。

 

パブリックブロックチェーンと比べて規模が小さくて済み、全体的な速度が速いというメリットがあります。また、プライベートブロックチェーンでは、参加者に経済的なインセンティブを与える必要がなくなります。一方、中央集権的になってしまい、ブロックチェーンのメリットがあまりなくなるという問題もあります。

 

 

 

 

 

うちだ
サービスクリエーション本部所属        (監修:とみなが)       

オススメ記事