2017年4月10日

 

 

 

 

 

 

 

ブロックチェーンに関する基礎知識 PartⅡ

 

 

 

 

 

 

 

 おはようございます。

 

 二回目はブロックチェーンの仕組みを簡単にご紹介します。

 

 ブロックチェーンのイメージを簡単に理解するには、グーグル・ドキュメントを思い浮かべるといいと思います。それも一つのアカウントに複数で同時に入ると分かりやすいです。

 

 どちらかのアカウントであるとかサーバーでは、主従の関係が生じます。しかし、アカウントを共有して、例えばそこに文章を書いていけば、ともに対等の立場で記述ができます。この変更履歴を残るようにすれば(現在はある人のアカウントに他がコメントや編集をした場合にだけ残ります)、ブロックチェーンの仕組みが、あくまUX(ユーザー・エクスペリアンス、プログラミング側ではなく、使う側の使い勝手の良さ、体験の良さ)の視点で分かりやすいと思います。

 

 いずれにしろ、ブロックチェーン、分散化台帳とは、「ユーザー同士が対等の立場である文書記録を共有して、変更を加えることができる」ということです。。いやむしろグーグル・ドキュメントのアカウントに許可した人のコメントや編集履歴を残すことに近いかもしれません。

 

 仕組み自体は異なりますが、あくまで使用側にとっての比喩として、ブロックチェーンのイメージをつかみやすいと思います。

 

 今回はそのようなブロックチェーンの簡単な仕組み説明の文章です。

 

 

 

 

 

 

 

 

 

 

 

 

 

ブロックチェーンの仕組み

 

 

 

 

 

 

http://www.nttdata.com/jp/ja/services/sp/blockchain/mechanism/

NTT DATA

 

 

 

 

データ構造自体に優れた改ざん耐性を装備

 

 

 ブロックチェーンでは、ネットワーク内で発生した取引の記録を「ブロック」と呼ばれる記録の塊に格納します。個々のブロックには取引の記録に加えて、1つ前に生成されたブロックの内容を示すハッシュ値と呼ばれる情報などを格納します※。生成されたブロックが、時系列に沿ってつながっていくデータ構造が、まさにブロックチェーンと呼ばれる理由です。

 

 

(編集部注記: つまり一枚の紙に、今回のお金の出し入れと前回のお金の出し入れの記録が書いてあるということ。それが、作られた順番に沿ってつながっているということ。)

 

 

 もし仮に、過去に生成したブロック内の情報を改ざんしようと試みた場合、変更したブロックから算出されるハッシュ値は以前と異なることから、後続するすべてのブロックのハッシュ値も変更しなければならず、そうした変更は事実上困難です。このように、ブロックチェーンは改ざん耐性に優れたデータ構造を有しているのが大きな特徴です。

 

 

(編集部注記: つまり一枚の紙に書かれた出入金の記録を改ざんしても、前回の出入金の記録と異なっているため、改ざんしたことがばれてしまいます。そこですべての記録を改ざんしなければなりませんが、それには数百万単位のハッカーを同時に共同して連絡を取り合いながらすべてをぴったり合うように改ざんしなければならず、しかもそれを更新される10分以内にやらなければならないのです。それはアメリカや中国のような巨大国家単位でやるのもきわめて難しく、そもそも秩序を維持する側の国家がそれをやる意味がありません。)

 

 

※ハッシュ値とは

 

 ハッシュ値とはアルゴリズム(ハッシュ計算)により算出された一定量の情報をコンパクトにまとめるデータのこと。情報が少しでも変更されると、計算されるハッシュ値は全く異なるものになります。

 

 

 

ブロックチェーンのデータ構造

 

 

 

 

 

ブロックチェーンを支えるさまざまな技術

 

 

 ブロックチェーンはデータ構造に加えて、データの管理方法にも改ざんを防ぐ仕組みを備えています。「分散型の台帳」と言われますが、ブロックチェーンはネットワーク内で発生した全ての取引を記録する「台帳」としての役割を持ち、ネットワークに参加している全てのユーザーが同一の「台帳」を共有することで、情報の信ぴょう性を確保しています。

 

 

(編集部注記: ここが国家や当局、中央銀行などの規制や介在不要の根拠となる部分です。ブロックチェーンという「コミュニティ」参加者が互いに「監視しあう」わけです。それには参加者同士の「信頼」が不可欠です。一つの町や村の住人同士が互いに信頼しあう必要がありますが、あれと同じです。住民同士が警察は本来いらないものです。信頼をもとにした見張りあいという自立型のシステムということになります。)

 

 

 そのほか、ブロックチェーンは「P2Pネットワーク」や「コンセンサスアルゴリズム」「スマートコントラクト」「偽造防止・暗号化技術」といった複数の技術の組み合わせで実現されます。

 

 

 

 

 

 

ブロックチェーンを構成する技術

 

 

 

 

 

契約の自動化を実現する「スマートコントラクト」

 

 

 契約行動をプログラム化し、自動的に実行しようとする仕組みが「スマートコントラクト」です。スマートコントラクトはブロックチェーン上で動くエージェント・プログラムで、特定の条件を満たした場合に契約を行うなど、さまざまな業務処理を記述することが可能です(実現性の程度はブロックチェーン基盤によります)。

 

 

偽造防止・暗号化技術

 

 

 ブロックチェーンでは、公開鍵暗号技術により電子署名を用いて相手との安全な取引を実現したり、台帳情報の共有による取引の透明性とプライバシー保護を両立したりしています。

 

 

 

全体の合意形成で正当性を確認する「コンセンサスアルゴリズム」

 

 

 中央集権的な管理者を持たないブロックチェーンでは、台帳情報をネットワーク上の全員で共有するため、全体の合意形成を行います。そうした合意を行う方法が「コンセンサスアルゴリズム」です。コンセンサスアルゴリズムには、ビットコイン等に用いられるProof of Work(PoW)やHyperledger Fabric等に用いられるByzantine Fault Tolerance(PBFT)など複数の方法があります。

 

 

 

分散型の台帳管理を支えるP2Pネットワーク

 

 

 ブロックチェーンのデータ管理の役割を担うのが、P2Pネットワークです。P2Pネットワークはクライアント=サーバー型とは異なり、特定のサーバーやクライアントを持たずにノードと呼ばれる各端末が対等に直接通信することで、ユーザー同士の情報共有や決済のやりとりを可能にします。

既存の決済システムのようにサーバー側で情報を集約して管理する場合には、そこが障害時の弱点(単一障害点)となりますが、ブロックチェーンの場合にはユーザー全員が同じ情報を持っているため、複数のノードに障害が発生してもシステムを維持できます

 

 

 

 

 

 

 

 

 

 次回はNTTさまのブロックチェーンのビジネスへの応用編を掲載いたします。