NTT DATA

DATA INSIGHT

NTTデータの「知見」と「先見」を社会へ届けるメディア

絞り込み検索
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
background-image-careers
2016年1月28日技術ブログ

ブロックチェーン技術とその動向

ブロックチェーンは、P2P上の電子マネー決済システムである「ビットコイン」の基幹技術として発明された概念です。アイデアが革新的で、幅広い応用可能性からさまざまな分野で大きな注目を集めています。

ビットコインとブロックチェーン

仮想通貨ビットコインは2009年に論文および実装が発表されました参考1。 ビットコインが前提とするのは、誰でもいつでも参加・離脱が自由な、オープンなP2Pネットワークです。ビットコインは、そのような不特定多数の参加者のみで構成された管理機関不在のネットワークにおいても、参加者同士の取引決済システムが機能することを実証して、世の中に大きな衝撃を与えました。

ビットコインの基幹技術として発明された概念が、ブロックチェーンです。ブロックチェーンは、ビットコインのトランザクションの整合性保証の仕組みとして導入されました。ビットコインのトランザクションは、あるノードから他のノードにコインの所有権を譲渡する取引です。取引それ自体が正しいものであることは、電子署名技術を用いることで、保証できます。しかし、それが他の取引と整合しているかどうか(例えば、送金者が同じコインを複数の人に送金してないか)は、取引の当事者同士だけでは、検証する手段がありません。これは従来のシステムでは、各ノードの残高を管理する中央管理機関が検証の役割を負いますが、ビットコインでは、ブロックチェーンによりこの問題を解決しました。

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

ブロックチェーンに対しては、「分散型の台帳」という比喩がよく使われます。その表現の通り、ブロックチェーンは、ネットワーク内で発生した全トランザクションを記録する「台帳」としての役割を持ち、それは参加している全てのノードで同一のものが保有されます。

ブロックチェーンは、いくつかのトランザクションをまとめて「ブロック」として、ブロック単位で整合性を検証し、検証済みのブロックを直列に連鎖(チェーン)させたものです。新しいブロックを完成させるためには、未検証のトランザクションを集めて、それらの整合性を検証したうえで、ブロックのハッシュ値を計算します。新しいブロックには、直前のブロックのハッシュ値を持たせます。これによりブロックのチェーンが形成されます(図1)。

【図】

図1:ハッシュ値(Hash)を用いたブロックのチェーン
前のブロック(Block)のハッシュ値と、新しいBlockの中の取引(Item)を用いて、新しいハッシュ値を計算する。
図はBitcoin:A Peer-to-Peer Electronic Cash System参考1より抜粋

あるノードが新しいブロックの生成に成功すると、その情報が他の全ノードに通知されます。通知を受け取ったノードは、新たに追加されたブロックが正しく作成されているかを確認して、問題なければ自分の持つブロックチェーン情報を更新します。そしてまたその後ろに繋ぐための新しいブロックの生成が始まります。

ブロック生成の試みは多数のノードによって行われるため、複数の異なるブロックチェーンができてしまうことがあります。その場合は、長いチェーンが正として受け入れられて、短いチェーンは破棄されます。

この仕様はコンフリクトの解決手段であるとともに、不正防止にもなっています。善意の(ブロックチェーンの正常な運用を望む)ノードが多数派であれば、正しいブロックチェーンが最も速く成長するためです。もし悪意のあるノードが不正なブロックを生成してチェーンに繋げたとしても、善意のノードはそのチェーンを受け入れません。攻撃者が不正なブロックチェーンを作るためには、ネットワーク内の善意のノードの計算資源の総量を、その攻撃者が単独で上回らなければなりません。

ビットコインでは、ノードが正当なブロック生成のために計算資源を投入したことの証明として、「プルーフ・オブ・ワーク」(Proof of Work)と呼ぶ仕様を採用しています。ブロック生成に必要なハッシュ値の計算に時間がかかるように、値に制約条件を設けて(例えば「先頭100ビットが0であること」など)、計算負荷を高めています(図2)。

【図】

図2:プルーフ・オブ・ワーク
ブロック生成者は、ハッシュ値が規定の条件を満たすまで、Nonceの値を変えてトライする。条件の難易度は「平均10分で誰かが発見に成功する」ように調整される。
図はBitcoin:A Peer-to-Peer Electronic Cash System参考1より抜粋

プルーフ・オブ・ワークは、ブロックチェーンの改ざんを極めて困難にします。あるブロックを改ざんすると、そのブロックのハッシュ値が変わります。それにより次のブロックも、その次のブロックもハッシュ値が変わります。改ざんを成功させるには、後続の全てのブロックのプルーフ・オブ・ワークの再実行を、常に伸び続ける正しいブロックチェーンを追い抜ける速度で実施しなければなりません。

また、ビットコインでは、新しいブロックが完成すると、そのブロックにコインが新規発行されます。プルーフ・オブ・ワークを実行する動機付けのため、このコインの所有権はそのブロックを生成した(すなわち最初にハッシュ値の計算に成功した)ノードに報酬として与えられます。この仕様は金を採掘する行為になぞらえて「マイニング」と呼ばれます。

ブロックチェーンの応用可能性

ブロックチェーンはもともとビットコインのために発明された概念ですが、ブロックチェーンの応用研究が進むにつれて、現在では、ビットコインはブロックチェーンの応用例の1つと捉えられるようになっています。例えばビットコインでは、オープンなネットワークで、非中央集権化された決済システムを作るために、プルーフ・オブ・ワークやマイニングなどの仕様を設計しました。これらの前提である、ネットワークがオープンであることや、中央集権的な管理機関がないこと、更には決済のシステムであること、などは、ブロックチェーンに必須の条件ではありません。実際に、閉じたネットワークで承認されたノードを前提とすることや、決済以外の情報を記録するなどの取り組みも、多数出てきています参考2、3。それらはビットコインが目指したP2P電子マネーとは質的に全く異なるものになっています。

ブロックチェーンは、以下のような特性を、そもそもの仕組みとして備えているという性質があります。

  • 発生した全てのイベント情報が台帳に記録される
  • 台帳の情報は改ざんが困難
  • 単一障害点がなく、全てのノードが同時にダウンしない限り運用継続可能

なおかつ、ブロックチェーンの考え方は非常にシンプルです。ビットコインの原論文も、わずか9ページしかありません。

このブロックチェーンの持つ「改ざんが困難で可用性が高い記録台帳」という特性は、従来多くのシステムにおいて求められ、高いコストをかけて実装・維持している特性です。ブロックチェーンを使用することで、従来システムの劇的なコストダウンや、あるいは今までは実現性に乏しかったようなことさえも実現可能になるかもしれません。ブロックチェーンは、システムの仕組みを大きく変える可能性のある技術として、現在多くの組織・団体により、研究や実証実験が盛んに行われています参考4、5、6、7、8

お問い合わせ