これまで本連載では、ブロックチェーンが目指していることや、基本的な動作原理を解説した上で、「トラスト」「合意」「スケーラビリティ」「鍵管理」といった個別の技術要素において、それぞれ大きな課題があることを示した。

 各記事を見れば分かるように、それぞれの課題は容易に解決できるものではなく、今後の本格的な研究が必要である。

 本連載のタイトルにあるように「ブロックチェーンが本当に世界を変える」ためには、個別要素を組み合わせた「システム」としてのブロックチェーンが、長期間にわたって(究極には永久に)セキュアで信頼できる必要がある。そうでなければ、ブロックチェーンは世界で使われる社会基盤にはなり得ない。

 そこで今回は、これまでの連載記事を振り返りながら、ブロックチェーンの個別要素を組み合わせた「システム」全体でセキュリティを確保するために、考えるべき課題を抽出してみる。

The DAO事件が教えてくれた教訓

 2016年6月、ブロックチェーンプラットフォームの1つであるイーサリアム(Ethereum)上でのDAO(Distributed Autonomous Organization:分散自律組織)プロジェクトである通称「The DAO」で、セキュリティ上の重大な問題が発生した。プログラムの設計上の脆弱性によって、大量のイーサリアム上のコインが当初のシステム設計の意図に反して流出しそうになった。

 このThe DAO事件の詳細はITpro記事「暗号通貨ファンド『The DAO』から数十億円分が流出」を参照いただきたいが、この事件は、ブロックチェーンにおける「暗号技術でセキュリティが担保されている」という安易な思い込みが間違いであることを再認識させるものだった。

 「ブロックチェーン上の情報の保全」という、ブロックチェーンが標榜する基本機能をセキュアに構築するのは、ブロックチェーン信奉者が言うほどに簡単ではない。

 ブロックチェーンは、技術的に分類するとすれば、暗号プロトコル(暗号技術と通信の組み合わせで、単体の暗号技術より高度なセキュリティ機能を提供する仕組み)の一種である。

 暗号プロトコルの安全性を保つのに苦労している例として、我々が普通にオンラインショッピングやオンラインバンキングで利用しているSSL/TLS(Secure Socket Layer/ Transport Layer Security)というプロトコルがある。

 このプロトコルは、2つの通信主体の間でお互いを認証しつつ、その通信のセッション専用の暗号鍵を交換し、暗号通信を行うための技術である。しかし、SSL/TLSは、内部で使っている暗号技術がたとえ安全であったとしても、プロトコルの設計(組み合わせ方)やプログラムとしての実装に問題があり、せっかく暗号化したデータが攻撃者に漏れてしまうという問題が、ここ数年で多数報告されている*

 それらの問題については、実装側で修正も行われており、TLSの次期バーションTLS1.3の設計のセキュア化に生かされている。こうしたSSL/TLSの取り組みは、暗号システムの安全性が、ベースとなる暗号技術のアルゴリズムの安全性だけでは担保できない良い例といえる*

*Kenneth Paterson and Thyla van der Merwe, “Reactive and Proactive Standardisation of TLS,”参照。

 セキュリティの問題でもう1つ見逃せないのは、可用性(Availability)の観点だ。

 可用性は、セキュリティの三大要素(秘匿性、完全性、可用性)の1つである。The DAO事件の時には、流出したコインの扱いについて大論争となり、結局ハードフォークをするという結論になった。だが、その結論に至るまでには長い時間を要し、その間システムは停止したのと同じ状態になっていた。つまり、その間は可用性が失われていたわけだ。

 こうした「可用性が失われる」状況は、他にもあり得る。前回の記事(ビットコインの暗号技術はいずれ破られる、新方式に移行する手段はあるか)にあるように、基盤となる暗号技術に脆弱性が見つかった場合、すべてのフルノードにおいて新しい暗号技術への移行が必要になる。だが、その移行をスムーズに行うのは難しい。

 仮に攻撃によってコインを盗めなかったとしても、「システム」として停止する時間ができれば、攻撃者にとって、攻撃を仕掛ける何らかのインセンティブになる可能性はある。

 ブロックチェーンが社会基盤となった時に、ある攻撃でシステムが停止すれば、社会活動にダメージを与えることができるかもしれない。単にブロックチェーンのセキュリティを「コイン」や資産価値に関するインセンティブで考えるのではなく、崎村夏彦氏の記事(「ブロックチェーンの革新性はトラストレスにある」は本当か)の論考にならって「世界を変える社会基盤」と考えれば、システムが動き続けることへのトラスト(信頼)も攻撃の対象であり、保護の対象となることが分かるだろう。

 現状のブロックチェーン技術を、アプリケーションまで含めたシステムの観点で「止まらないシステム」と考えるのは早計である。ブロックチェーンを「世界を変える社会基盤」にするうえで、こうした観点での検討は常に求められるだろう。