ブロックチェーン
ブロックチェーンとは
オープンなネットワーク上で,高い信頼性が求められる金融取引や重要データのやりとりなどを可能にする「分散型台帳技術」の中心となるのがブロックチェーンです.
ブロックチェーンは仮想通貨ビットコインの基幹技術として導入された概念です.
ブロックチェーンでは,いくつかの取引をまとめたものをブロックと呼びます.ブロックの中に入っている個々の取引はトランザクションと呼ばれます.生成されたブロックが時系列に沿って連鎖的に繋がったデータ構造であるため,ブロックチェーンと呼ばれます.
各ブロックには改ざん検出用のハッシュ値や所有者によるディジタル署名などが付加されており,
過去に生成したブロック内の情報の改ざんを試みた場合,変更したブロックから算出されるハッシュ値は以前と異なることから,後続するすべてのブロックのハッシュ値も変更しなければならず,そうした変更は事実上困難です.そのため,ブロックチェーンは改ざんや不正耐性に優れたデータ構造を有しています.
ブロックチェーン技術を利用したディジタルネットワークは,金融のみならず,医療,エネルギー,公共インフラなど厳格なアクセス管理が要求される分野への応用が期待されています.
ブロックチェーンを支える技術
- P2Pネットワーク
特定のサーバやクライアントを持たず,各参加ノードが対等に通信する分散型のシステムであり,信頼できる第三者が介入する必要性を排除している.これによりトランザクションの検証に必要なコストを削減し,ネットワーキングコストを下げている.
また,「分散型の台帳」としてのブロックチェーンは,ネットワーク内で発生した全ての取引を記録する台帳としての役割を持ち,ネットワークに参加している全てのユーザーが同じ内容の台帳を共有することで情報の信ぴょう性を確保している.
- スマートコントラクト
契約行動をプログラム化して自動的に実行しようとする仕組みである.ブロックチェーン上で動くエージェント・プログラムで,特定の条件を満たした場合に契約を行うなどの処理を実現する.
- 合意形成アルゴリズム
中央集権的な管理者を持たないブロックチェーンでは,台帳情報をネットワーク上の全員で共有するため全体の合意形成を行っている.この合意を行う方法が「合意形成アルゴリズム」であり,合意形成アルゴリズムには,ビットコイン等に用いられる Proof of Work や Hyperledger Fabric等に用いられる Byzantine Fault Tolerance など複数の方法がある.
合意形成では,更新権限者をデータの更新(ブロック追加)の都度,特定の1名に絞り込み,その更新権限者の更新内容を皆が一斉に自己の保有するデータベースに書き込むことで分散して存在しているデータベースを整合性を持って更新していく.
- 偽造,不正防止
ディジタル署名による偽造防止やハッシュ関数による改ざん検出などの暗号化技術が用いられている.
ブロックチェーンの特徴
- 信頼のおける第三者機関の存在を前提とせずに取引の信頼性が担保できる.システムの参加者が皆で監視し合い,特定の人による不正を検出できるシステムになっている.
- データベースが分散型であり,かつ同じデータが複数箇所で管理されている.これにより,集中的に管理するより事故や改ざんに強く,相互チェックや多数決で真正を判断できるなどの利点がある.
- 同一データが複数箇所に存在するため,適切に同期を取って更新する必要がある(合意形成アルゴリズム).この合意形成アルゴリズムにより不正を働くためのコストが膨大になり,不正が入り込み難くなる仕組みになっている.しかし,集中的な管理に比べデータ更新の処理時間はかかる.
ビットコイン
ブロックチェーンを用いた代表的なシステムがビットコインです.
ビットコインのシステムの主要な構成要素は以下です.