全5993文字

 ここからはWeb3を成り立たせている技術を見ていこう。

 既に触れてきたように、ブロックチェーンがWeb3の中心を成す。ブロックチェーンを特徴付けるのは「ブロック化された帳簿データ」「暗号ハッシュによる同一性の担保」「伝搬アルゴリズム」「公開鍵暗号を利用した認証」「合意形成アルゴリズム」の5つだ(図2-1)。

図2-1●ブロックチェーンを特徴付ける技術
図2-1●ブロックチェーンを特徴付ける技術
ブロックチェーンを構成する主な技術を列挙した。こうした技術を利用することで耐改ざん性や情報の秘匿などを実現している。
[画像のクリックで拡大表示]

 まずブロック化された帳簿データとは、ブロックチェーンにおけるデータの記録方式を指す。ブロックチェーンでは記録するデータを「ブロック」という単位で分割し、それをつないで管理する。ブロックの中には記録するデータそのものであるトランザクション(取引)データと、前のブロック全体を要約したデータ(要約データ)が入っている(図2-2)。

図2-2●トランザクションデータと前のブロックの要約を書き込む
図2-2●トランザクションデータと前のブロックの要約を書き込む
ブロックチェーンは「ブロック」を連ねる構造のデータのリストだ。ブロックには主にトランザクション(取引)データと前のブロック全体を要約したデータ(要約データ)が入っている。このため後からデータを改ざんするのが非常に困難だ。
[画像のクリックで拡大表示]

 「ブロックチェーンは改ざんが困難」と言われる理由は、要約データがあるためだ。データをどこか1カ所書き換えると、以降のブロックの要約データに不整合が生じる。トランザクションデータを改ざんするためには、以降すべてのブロックの要約データを書き換えなければならない。

 この書き換えを困難にするのが、2つ目の暗号ハッシュによる同一性の担保である。具体的には前述の要約データの作成にハッシュ関数を適用する。これにより改ざんされた際に検知できるようになる。前ブロックのハッシュ値をトランザクションデータと共に書き込むことで、改ざんを難しくする。

 こうしたブロックの連なりは、ブロックチェーンに参加する全ノードが保持する。ブロックチェーンが「分散型台帳」と呼ばれる由縁だ。ノード同士は直接P2P方式で通信する。これが3つ目の伝搬アルゴリズムだ。クライアント-サーバー方式と異なり、各ノードが対等の立場でデータをやりとりする。1つのノードが停止しても、別のノードがデータを保持する。このためブロックチェーンは誰かが独断で運用を止めようとしても止められない。

 4つ目の公開鍵暗号による認証により、参加者の個人情報を開示しなくてもブロックチェーンの利用を可能にする。鍵ペアを生成し、それを通じてブロックチェーンとデータをやりとりする。

 最後の合意形成アルゴリズムは、追加されたトランザクションデータをノード間で共有し、ブロックチェーンに追加するための仕組みだ。トランザクションの発生からブロックチェーンへの登録までの流れを確認しよう(図2-3)。あるノードでトランザクションが発生すると、ノードはそれをブロックチェーン全体へ通知する。他のノードも同じように全体へトランザクションを通知していく。

図2-3●合意形成アルゴリズムの役割
図2-3●合意形成アルゴリズムの役割
ブロックチェーンでは本来、すべてのノードに同じ情報が伝達される。しかしノードが分散しているため誤った情報が流れてくる場合がある。そうした際にどれを正しい情報とするかを決めるのが合意形成アルゴリズムだ。
[画像のクリックで拡大表示]

 だが、誤った情報が流れてくる場合もある。どのトランザクションを追加し、ブロックチェーン全体で共有するかを合意形成アルゴリズムによって決める。合意形成アルゴリズムによって認証に成功した場合、トランザクションがブロックチェーンに登録される。失敗した場合には破棄される。