カテゴリー
blockchain

ブロックチェーン(14)

分散型ネットワークと分散型タイムスタンプについて、一通り基礎を説明した。

では、実際には、これらを使って、どのようにブロックを作っていくのかについて述べたい。

ブロックを作ることは、取引の記録をデータベースにつけていくわけだが、それをすべて、その場で行うと、膨大な作業量となることが想像できる。世界中にたくさんのコンピューターがあって、お互いに確認しながら、ハッシュ値が正しいかどうか、タイムスタンプが正しいかどうか、を調べていくわけである。

したがって、実際には、それらの作業をまとめて行うことになっている。

通常は1つのコンピューターが行った処理の時刻記録を行えばOKだが、分散型ネットワークであるブロックチェーンの場合、ネットワークに参加する複数のコンピューター(これをノード、node、という)で同時に記録する。そのため、それぞれのノードで少しずつ時刻にずれが生じていくという事態が起きる。nodeは、結び(目)と訳される。

分散型タイムスタンプでは、それぞれのノードでの時刻の平均をとって、それを一意的に定めて、混乱しないようにしている。

ちなみに、ブロックチェーンを応用したビットコインの場合、約10分ごとに作成されるブロックへタイムスタンプを押すことで、効率よくデータの順序を示すようにしている。

ブロック内の取引データをハッシュ値にしてタイムスタンプに組み込むことで、その時点においてデータが存在していたことを証明できるようになる。また、ひとつ前のブロックのタイムスタンプ自体も取引データとともにハッシュ値にされて、チェーンの連なりを作っていくので、前のブロックに戻って改ざんするのは極めて困難になる。ブロックの数が増えていってチェーンのような繋がりができていくことで、信頼性が増していく。

このように、分散型ネットワーク上で承認されたブロックは、多くの参加ノードで保持されることから、一つのノードによって、ブロックの改ざんを行うことは不可能になる。したがって、時刻認証局のような第三者機関を使わない場合でも、誰もが正しいと信頼できる分散型タイムスタンプが可能となる。

基本、唯一絶対の正しいものというのが存在することを信じるのは性善説であるが、そのような唯一絶対正しいものなど実際は存在しない。それよりも、多くの人々が正しいとお互い確認したことの方が絶対的に正しくはないかもしれないが、誰か特定の人間によってごまされるということがなく、ほぼ正しいので信頼できるという立場をとっているのが、分散型の特徴といえる。ある意味、民主主義的な発想といえる。

コメントを残す