実体はプロトコル、ソフト、ノード、ネットワーク

 ブロックチェーン技術の実体は、特定のプロトコル(ビットコインならBitcoin Protocol)に沿って実装されたソフトウエアと、ソフトが稼働する複数のコンピュータ(ノード)、ノード同士を接続するP2Pネットワークから成る。

 ブロックチェーンでは、単一のノードがデータを集中管理せず、原則として全てのノードが同一のデータを保有する。この特徴から、ブロックチェーンは「Distributed Ledger(分散型元帳)」とも呼ばれる。

 ブロックチェーンにデータ(ビットコインならコインの取引情報)を書き込む場合、ノード上のソフトを通じ、データを他の全てのノードに転送(ブロードキャスト)する。受け取ったノードは、データの署名や整合性を検証した上で、これらの情報を「ブロック」と呼ばれるデータの束にまとめる。

 このうち1台のノードが、プロトコルが定めるコンセンサス機構に従い、次のブロックを生成する権利を得る。このノードは、ブロックの改ざんを防ぐため、ブロック全体のデータを代表するハッシュ値を計算し、次のブロックに組み込む。こうして、前のブロックの要約情報がハッシュ値として次のブロックへ組み込まれ、さらにその情報が次のブロックへ……と連鎖的に組み込まれていく。このブロックの連なりが「ブロックチェーン」である。

Bitcoin protocolでは「proof of work」と呼ばれる、ハッシュ値を計算する能力をベースとしたコンセンサス機構を採用する。ノードの計算能力が高いほど、そのノードが次のブロックを生成する権利を得る確率が高まる。悪意あるノードがブロックを改ざんしようとしても、悪意あるノードの計算能力がノード全体の50%を超えない限り、改ざんは成功しない。このほかコンセンサス機構には、主にコイン保有量に依存する「proof of stake」、取引頻度に依存する「proof of importance」などがある。

 では、ブロックチェーンに関わる国内のIT技術者は、この技術をどう見ているのか。