カテゴリー
blockchain

ブロックチェーン(11)

さて、これまで暗号やハッシュ値のことを述べてきたが、ここからブロックチェーンの仕組みについて述べていきたい。

ブロックチェーンとは、データベースのことで、ブロックでつながっていると、以前説明した。

それぞれのブロックは、そのブロックが作られた時間と、そのブロックの前のブロックへのつながりが示されている。例えば、人間であれば、その人がいつ生まれたか、両親が誰であるのかの情報を体の中に保持しているようなものをイメージしてもらってもいい。

新しいブロックを作るには、ハッシュ値が使われる。このハッシュ値には、以前のブロックの情報が入っている。例えば、実際に存在しない人間を現在存在する人間の遺伝子をまったく使わずに無理やり作ったとする。そうすると、その人間の両親を探そうとしてもそのような両親はどこにもいないわけである。そこで、そのような両親を今度は無理やり作り出さなければならない。そのようなことは容易にわかるように、現在の技術ではほぼ不可能である。同様に、前のブロックの情報がハッシュ値として入っている現在のブロックの情報を勝手に変える(つまり、改竄、かいざん、する)ことは、ほぼ不可能である。

さて、これだけでは、ブロックの情報が正しいのかどうかを保証することができない。

ブロックチェーンでは、ブロックの情報が正しいことを、二つのことで保証しようとする。その一つは、コンピューター同士の一対一のつながりである分散型ネットワーク。もう一つは、正確な時間記録を行うための分散型タイムスタンプである。

何事もそうだが、集中すると、スピードは速くなるが、力が一か所に集まりすぎることがある。例としては、独裁国家がある。情報がすべて一か所に集まり、意思決定を一か所で行えば、スピードは速いが、情報が改ざんされてしまう恐れがある。独裁者は自分に不都合な情報を勝手に変えて、自身の権力を維持しようとするだろう。

分散すると、相互に牽制があり、一人が自分に不都合な情報を勝手に改ざんしようとしても、他の人々がそのような改ざんを受け付けない。

コンピューターにおいても、いわゆる一つのサーバーと多くのクライアントをつなげるクライアントサーバーというネットワークだと、サーバーにあるデータが改ざんされると、すべてのクライアントコンピューターはその改ざんされたデータを表示してします。

しかし、すべてのコンピューターが独立して、必要に応じて、それぞれ他のコンピューターと接続して、そのデータが正しいかどうかを確認するようにすると、一つのコンピューターがデータを改ざんしようとしても、他のコンピューターがそれを受け付けない。

ブロックチェーンは、そのような分散型ネットワーク の仕組みを使っている。

コメントを残す