ブロックチェーンの仕組みと分散型台帳、信頼できる第三者機関との関係性
IoTセンサーメーカーが考慮すべきポイントとは?
そもそもブロックチェーンとは何か?
ブロックチェーンは、今から約10年前の2009年1月3日に発表された技術で、「二者間の取引を効率的かつ検証可能な方法で永久に記録できるオープンな分散型台帳[1]」のことをいいます。チェーンの起源となるジェネシスブロックとその先に続くブロックは、マイナー[2]と呼ばれる暗号化されたハッシュにより連結されています。ネットワークを構成している各ノードには、チェーンのコピーが保存されていますが、コピーされたこれらすべてのチェーンにおいて後続のブロックを更新しない限り、前にあるブロックの変更や削除、順番の入れ替えはできません。つまり、多くの人がネットワークに参加し、ノードの数が増えるほど、信頼性が向上する仕組みになっているのです。このことから、一度ブロックチェーンに記録された情報は、どんなものであれ、変更(改ざん)することはほぼ不可能であるといえます。ブロックチェーンネットワークの中で最も有名なものが、今や世界中で利用されているビットコインです。ビットコインでは、ブロックチェーンを金融取引のデータを記録する電子台帳として効率的に運用しています。そのため、ブロックチェーンは、分散型台帳と呼ばれることもあります。
ブロックチェーンネットワークの代表格:ビットコイン
互いに独立したすべてのノードにチェーン(台帳)のコピーを保存することにより、1人の責任者による集中管理ではなく、参加者全員による分散管理を採用しているブロックチェーンには、信頼できる第三者機関(TTP)が必要ありません。勝手な複製や発行によって価値を損なう心配がないことから、ビットコインは「暗号通貨」として確固たる地位を築いています。一般的な通貨は、国の中央銀行の管理に委ねられていることが時として脆弱性につながります。しかし、分散型通貨のビットコインなら、政府の干渉やDoS攻撃を受けることがなく、TTPも存在しないため、実質的な維持費がかかりません。
金融取引を行うという点では、VISAもビットコインと同じです。分散型技術を使用していないVISAでは、世界中のクレジット決済端末をメインサーバーに接続しているため、DoS攻撃の対応に毎年膨大なコストをかけていますが、その代わり決済システムの安全性を保証することにより、TTPとして大きな収益を上げています。
データの保管場所
無数のIoTセンサーで取得されたデータは、今後どこに保管すべきなのでしょうか。仮に効率的でDoS攻撃も受けない集中管理型のサーバーを構築できたとしても、世界各地にあるセンサーのデータを1社の企業で直接管理することは、あまり現実的ではありません。一方、センサーのデータを直接台帳に保管すれば、コストのかかるTTPを介さなくても、顧客が個々のセンサーにアクセスし、それぞれのデータを安全かつ安価に入手できます。
スマートコントラクトの仕組みと問題点
スマートコントラクトは、チェーンの各ノードで動作するコンピュータープロトコルとして、事前に定義した条件に応じて、特定の約定内容を執行します。契約書のようなものをイメージすると、わかりやすいかもしれません。あらゆる地点の処理結果を検証可能かつ透明性のある方法で永久にブロックチェーンに記録することから、スマートコントラクトの信頼性は非常に高いといえます。
ただし、チェーン上にあるすべてのノードに組み込まれているというその特性上、完全に独立した外部の仮想マシンを別途用意し、ハードウェアやセンサーのデータにアクセスできないようにする必要があります。さらに技術的な問題として、ある情報が1つのセンサーにしか存在しない場合、そのセンサーに同時にアクセスして情報を取得しなければなりませんが、スマートコントラクトが実行されているノードは膨大な数に上るため、あまり好ましいやり方とはいえません。
スマートコントラクトを初めて導入したのは、ビットコインの競合先であるイーサリアムで、オラクルを利用してこれらの問題の解決に取り組んでいます。
イーサリアムのソリューション:オラクル
オラクルとは、ネットワーク上でスマートコントラクトに認証情報を提供する特殊なノードを指し、センサーが取得したデータの真偽を検証したうえで、チェーンに送信する役割を有しています。
信頼性の問題
しかし、ここでも信頼性が大きな問題となります。オラクルは、センサーからのデータがブロックチェーンに届く前に処理を行います。そのため、TTPを介さなくても、ブロックチェーンに記録されたデータであれば、すべて正しいということになりますが、その前提条件として、オラクルプロバイダーに信頼性がなければなりません。オラクルプロバイダーに対しては、中央認証システムによる認証が行われていますが、そのためにはTTPに相当する第三者機関や、SSLサーバー証明書を発行するベリサインのような集中管理型の仕組みが必要になります。しかも、認証機関やオラクル自体がDoS攻撃を受ければ、IoTシステム全体が停止してしまうおそれもあります。
その解決策として、複数のオラクルにデータを分散し、冗長性を持たせる方法がありますが、十分な数のオラクルを確保するには多大なコストがかかります。このほか、汎用性のあるオープンソースのオラクルサーバーを使用するのも一つの手ですが、信頼性が高いとはいえません。
認証の信頼性はオラクルによって大きく左右されますが、データを送るセンサーに問題があると検知されなかったり、最悪の場合、無視されたりすることもあります。オラクルプロバイダーは、ブロックチェーン上の情報を取得するサービスしか提供していないため、すべてのセンサープロバイダーを検証することは実質的に不可能です。
もちろん、センサープロバイダー側で認証を行い、自身のハードウェアやファームウェアに信頼性があり、ハッカー攻撃も受けないことを証明することはできます。しかし、そのようなシステムを運用するにはTTPが必要になるほか、ベンダーロックインや追加コストの問題も発生します。
そして、TTPの利用を考えた場合、機能や効率性の面で一般的な集中管理型のネットワークとさほど変わらなくなるため、分散型で信頼性も高いブロックチェーンを導入する意味が薄れてしまいます。
理想的なソリューション:信頼性できるカメラセンサー
理想的なソリューションとして、エンドユーザーがスマートコントラクトを介して改ざんの有無を確認できるようなデータをセンサー側で提供することが考えられます。
カメラセンサーを例に挙げると、あらかじめ画像をハッシュ化して保存したうえで、エンドユーザーがハッシュを取得し、元の画像と受け取った画像を自身で比較して検証すれば、両者の違いから改ざんの有無がわかります。これ以外にファームウェアなどをハッシュ化し、画像を特定のカメラやファームウェアに関連付けるのもよいでしょう。また、システムのセンサーからカメラモジュールにデータを送信し、ハッシュ化してからブロックチェーンに転送することによっても、改ざん状況の確認が可能です。
以上は、あくまで信頼性できるカメラセンサーを活用した場合の事例です[3]。他の種類のセンサーについても、さまざまな可能性があります。
まとめ
ブロックチェーンを利用した最新のP2P(ピアツーピア)ネットワークは、集中管理を要するTTPを利用しなくてもよいため、拡張性が高いだけでなく、TTPに支払うコストも削減できます。ただし、チェーン上でセンサーからスマートコントラクトにデータを送信する際には、オラクルによる認証を行わなければなりません。データ認証に際し、オラクルへの過度な依存を防止するには、カメラセンサー側で検証可能なデータを提供するなど、独立したアルゴリズムを導入する方法があります。TTPに頼らない本当の意味での分散型ネットワークを構築することが、今多くのセンサーメーカーに求められているのです。
参考文献
[1]M. Iansiti、K.R.Lakhani「The Truth about Blockchain」(ブロックチェーンの真実)、『ハーバード・ビジネス・レビュー』(2017年1月号)
[2]D. Drescher『Blockchain Grundlagen 』(ブロックチェーンの基本)第14章、mitp Business社 (2017年)
[3]特許出願中(B16000DE/FK、em 18-009)