ブロックチェーンの仕組み
ブロックチェーンとは
ブロックチェーンでは、ネットワーク内に発生した取引を「ブロック」と呼ばれる一つの塊に保存します。
- 取引の履歴
- 前のブロックのハッシュ値*(一つ前に生成されたブロックの内容を示す値)
- 適正なハッシュ生成に必要なパラメータ(ナンス等)
の3つのデータから構成されています。
*アルゴリズムにより算出された、一定のデータを格納するのに必要な数値のこと。内容が少しでも変更されると算出されるハッシュ値は変化する。
この3つのデータの内、①取引の履歴と②前のブロックのハッシュ値 は固定であるため、新規のブロックの生成者は、適正なハッシュ生成に必要なパラメータを探さなければいけません。
→適正なパラメータが見つかり、そのブロックの適正な「ハッシュ値」が算出されると新しいブロックが生成されます。
こうして生成されたブロックが時系列に繋がっていくデータ構造がまるで鎖のように連鎖していくのが、ブロックチェーンと呼ばれる所以です。
ブロックチェーンの耐改ざん性について
例えば上のチェーン図において、N番目のブロックに含まれる取引を第三者が改ざんした場合、そのブロックのハッシュが変化してしまいます。 改ざんされたブロック以降のブロックをすべてを書き換えることは現実的にほぼ不可能であるため、一般的にはブロックチェーンには耐改ざん性があるとされています。ただし、実際には改ざんが行われる事例も発生しており、これがカウリーチェーンを開発する動機の一つとなりました。 |
ブロックチェーンを構成する分散台帳技術
従来の台帳管理システムでは、中央のサーバが分散情報を管理しており、そのサーバーが情報の処理・更新などを行っています。
もちろん、他のユーザーと取引を行う場合、中央のサーバを介して行う必要があります。
中央集権型のシステムでは、中央からネットワークに対してダイナミックかつ包括的なコントロールが可能となるメリットもありますが、中央サーバのダウンや通信障害がシステム全体のダウンに直結するためセキュリティリスクが集中するという懸念点はあり、ネットワークの信頼性は中央のサーバやネットワーク機器の堅牢性に依存する形となります。
→「中央集権型」管理
一方で、ブロックチェーンを構成する分散台帳管理では、台帳情報を管理する唯一の管理者は存在せず、同一の台帳情報を複数のユーザー間で共有します。
これにより、ネットワークに参加しているすべてのユーザーが同一の台帳を共有することにより、データの信頼性が担保されます。
複製を分散させ、相互に整合性を監視しあうことにより管理者を仲介せずにユーザー同士が直接取引を行うことが可能となります。
また、ブロックチェーンシステムでは複数のノードで同じ情報を共有するため、システムの中の数台が故障した場合でも他の大概のノードが稼働していればシステム全体がダウンするような障害は生じません。
さらに、履歴の改ざんが困難なデー タ構成であり、かつブロック生成時の複数ノー ドによるコンセンサス(合意形成)による正当性の確認により、仮に悪意有るノードが参加していてもそれが少数であれば改ざんを排除できるという特性があります。
→「分散台帳」管理
ビットコイン(BTC)のブロックチェーンシステム
現在世界中で最も流通量の多いビットコイン(BTC)において取引が行われた場合、以下のようなイメージとなります。
AさんからBさんへの送金が完了(確定)するまでの流れ
![]() |
Aさん(ノードA)がBさん(ノードB)に100コインを送金 |
![]() |
この送金が取引情報Aとしてトランザクションプールに記録 |
![]() |
マイナーが取引情報Aを記録したブロックNを生成 ※ |
Aさんの取引が成立するまで約10分~数時間後が必要でした |
独自ブロックチェーン「カウリーチェーン」とは
カウリーチェーンのブロックチェーンシステム
弊社が開発した独自のブロックチェーンでは、従来のブロックチェーンが複数人で時間をかけて行っていた取引の確定作業を発行者が管理するサーバのみが行うことにより、これを瞬時に行うことが可能です。
これにより、本来ブロックチェーンが持つ分散台帳システムによる透明性や強固な相互監視というメリットは享受しつつ、新規の取引確定においては「部分的に中央集権化」することで、即時決済を可能にしました。