はじめに
「仮想通貨」が通貨として機能し、サービスが成り立つ上で非常に重要な技術の一つが「ブロックチェーン」です。今回は、ブロックチェーンについて紹介します。
「ブロックチェーン」という技術
「ブロックチェーン」という言葉は初めての仮想通貨としてビットコインで使われている技術として取り上げられるようになったのが最初です。ビットコインが公開された2009年1月ですから、世の中に出現してまだ10年少ししかたっていません。
ビットコインではP2Pネットワークや暗号など、多くの既存技術が使われていますが、新しいものとして「取引の履歴を記録する方法」があり、この方法が「ブロックチェーン」と呼ばれています。元々この方法は、仮想通貨(ビットコイン)のための技術でしたが、その技術が持つ多くの特徴が、仮想通貨にとどまらず幅広く使えるのではないかということで見直され、後から「ブロックチェーン」と呼ばれるようになりました。
また、ビットコインが仮想通貨として利用した技術をブロックチェーン1.0と呼び、その後に仮想通貨だけでなく金融関連の取引を記録するための方式をブロックチェーン2.0、さらに金融以外の取引にも適用範囲が拡大し、台帳を記録する方式として製造・医療・登記・資産管理など幅広く利用されるようになったものをブロックチェーン3.0と呼ぶこともあります。
ブロックチェーンの特徴
ブロックチェーンは、従来の金融分野などで用いられてきた中央集権的な集中管理システムとは違い、次のような特徴があります。
- データの改ざんが非常に困難
- 複数のノードでデータを共有するため冗長性が確保され、システム障害に強い
- 安価にシステムを構築できる
従来のシステム | ブロックチェーン | |
データ改ざん: | データの削除、修正が容易 | 改ざんが非常に困難 |
対障害: | 冗長性などの障害対策が必要 | システム障害に強い |
構築費用: | 高価 | 安価 |
管理体制: | 中央集権的 | 非中央集権的 |
「ブロック」と「チェーン」
取引履歴などのデータは、順に並べた状態で一定のデータ構造に格納されます。このデータ構造が「ブロック」です。また、ブロックには親子関係があり、ブロックの中に必ず直前のブロックの情報(ハッシュ値など)が入っており、親ブロックを辿ることが可能です。親の親、またその親と、ハッシュ値で順に繋がっているため、「チェーン」と呼ばれています。もし新しいブロックを作ろうとする(「マイニング」と言う)際には、チェーンの最後尾につながることになります。このような構造であれば、もし過去のデータが改ざんされた場合も、改ざんされたブロックのハッシュ値が変わってしまうため、親ブロックがたどれなくなり、検出が容易になります。
※ハッシュ値とは、ハッシュ関数という特殊な関数によって得られる値で、ここではブロックを辿るための住所(アドレス)を意味します。
従来の金融システムとの比較
取引履歴の信頼性という観点から、従来の金融システムとブロックチェーンを比較します。従来のシステムでは第三者機関(図中「X」)が取引履歴を管理し、中央集権的な形で信頼性を担保しています。一方、ブロックチェーンでは、全ての取引履歴を全員で共有する非中央集権的な形で信頼性が担保されています。
ブロックチェーンの定義
参考までに、「ブロックチェーン」の定義について紹介します。2016年10月3日に、JBA(日本ブロックチェーン協会)から『ブロックチェーンの定義を公開しました』というタイトルで定義が公開されています。
- 「ビザンチン障害を含む不特定多数のノードを用い、時間の経過とともにその時点の合意が覆る確率が0へ収束するプロトコル、またはその実装をブロックチェーンと呼ぶ。」
- 「電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。」
1は、狭義のブロックチェーンを表し、Satoshi Nakamoto論文およびその実装である、ビットコインのブロックチェーンをオリジナルのブロックチェーンとして強く意識し、それが備える本質的で不可分な特徴を捉えています。
2は、広義のブロックチェーンを表し、昨今~今後の技術の展開を鑑み、オリジナルが備える特徴であっても、別の実装方式や別の目的への展開などにおいて、置換や変化が行われていく広がりの特徴を捉えています。