ブロックチェーン技術は2008年からの新しい技術であるからこそ、従来の中央集権的な信頼を前提としたシステムとの考え方の違いなどから、その技術が発展し実用化に至るまでまだ多くの課題が存在します。
経済産業省の2018年発行された『分散型システムに対応した技術・制度等に係る調査報告書』ではこれらの課題と、解決のための要素技術を以下の様に整理してあります。
さらにその開発状況を構想・研究・実用と3段階に分けており、その進捗を今後も管理していくようです。[出典1]このうち、数種類の課題とそれを解決するための手法を紹介します。
ブロックチェーンは、各トランザクションを、中央集権的に処理するのではなく、分散された各ノードで合意を形成しながら処理するため、従来のシステムに比べ一般的には処理速度が低いと言えます。
例えば、ビットコインにはスケーラビリティに関する問題が存在します。ビットコインは、およそ 10 分に 1 回ブロックを発行し、取引情報を保存していますが、1ブロックに埋め込まれる取引の数は 4,000 件ほどであり、理論上、秒間 7 件程度の取引しか処理することができていません。
これを超えた場合、通常は取引毎に取引の当事者が付与している取引手数料が高いものから処理されていくため、多くの取引がなかなか確定されない状況が生じているのが現状です。
ただ、日本政策投資銀行のレポート[出典2]の分析にあるように、性能効率性の問題は、いくつかの解決策が提示されています。
たとえば、1ブロックあたりのサイズを大きくする方法や、逆に1 取引の情報量を小さくすることで、1 ブロックに埋め込まれる取引量を多くし、時間当たりの処理件数を改善する方法があります。
また、複数回の取引の処理を主たるブロックチェーンの外で行い、取引が終了した時点で初めて主たるブロックチェーンに書き込むことで、ブロックチェーン上での取引件数を減らす「オフチェーン」と呼ばれる手法も提案されるなど、技術の進行と共に改善される課題も多いことが見込まれています。
経済産業省の2018年レポート[出典3]でも、シャーディングと呼ばれる合意形成アルゴリズムの改善やトラステッドハードウェアの活用により、「性能効率性に関連する課題を解決する技術として、ブロックチェーン外での処理やデータの保存、複数ノードで並行処理を行う技術が研究開発されている。台帳外取引によるトランザクションスループットの向上など課題解決の目途が立ちつつある。」との報告があります。
ソーシャルメディアやインターネット上の情報が多くなるにつれ、プライバシー保護への各国の対応も厳しくなってきています。
2018年5月に施行されたEUの一般データ保護規則(GDPR)は、海外のパーソナルデータを移動させたとしても、パーソナルデータの所有者の居住場所の法律が適用されるデータ主権の概念に基づいた法規制であり、EUの住民のパーソナルデータが含まれている場合は、EU圏外の地域であってもEU GDPRが適用されます。
また、EU GDPRだけでなく、シンガポールの個人情報保護法(PDPA)など海外でのデータプライバシー法は、データ主権に基づいた法規制になりつつあり、プライバシー保護に対して厳しくなっています。
日本経済新聞[出典:4]の記事では、パーソナルデータ管理にブロックチェーンを活用することで、「完全性」と「可用性」を高めることはできますが、法的課題も考慮しなければならないことが記述されています。
確かにブロックチェーンは、P2P(Peer to Peer)ネットワーク、分散台帳、暗号化、スマートコントラクト、コンセンサスアルゴリズムなどの複数の技術を組み合わせた、完全性と可用性が高い堅牢な分散型記録管理システムを実現している技術ですが、ブロックチェーンの特性の一つである匿名性は、身元確認と開示、情報公開などの適法性が問題となります。
個人のプライバシーのような公開したくない情報を取り扱う場合には、慎重な対応が必要となります。
また、これに関連して、現行のビットコインブロックチェーンでは、取引はどのアドレスからどのアドレスに対して、いくらを送ったのかといった情報が公開されており、アドレスが誰のものか判明しさえすれば、取引記録は公然のものとなるという特性を持っています。
イーサリアムなどにおける、契約情報やプログラムを載せたトランザクションについても同様のことが言えます。
このように取引記録がすべて公開されると、ビジネスやプライベート上、秘匿したい取引内容や、プライバシーに関わる取引を行なうことが難しい状況も生み出してしまいます。
この問題に対応して、ゼロ知識証明という数学的に正しく担保された理論を背景に匿名でトランザクションすることができる技術が開発・実用されています。
取引におけるプライバシーを保つため、一部のパブリック型ブロックチェーンにおいて、トランザクションの追跡不可能特性を付与させ、トランザクションデータを秘匿化したサービスを展開しています。たとえば Zcash は、ゼロ知識証明が採用されています。
IoT など今後通信端末・トランザクションの増大が想定されるなかで、機器間で直接通信することが今後も求められており、そのためのアプリケーションとして、プログラムをブロックチェーン上に記録することで自動的に処理が可能なスマートコントラクトを用いることが期待されています。
スマートコントラクトとは、プログラミング言語によって契約に係る処理の条件を記述したコードを、ブロックチェーン上に保存し、当該コードに関してマ イニング等により承認を受け、外部から情報を参照して条件が満たされたときに、自動的に処理が実行されることとなるプログラムを、対象としています。
通常、法律上契約が有効に成立するためには、契約当事者の意思の合致が必要となります。
一方で、スマートコントラクトは、プログラミング言語又は機械語で契約条件が記述され、条件が満たされた場合、自動的に契約が成立し履行されます。
このようにプログラミング言語又は機械語で記述され、自動的 に契約が成立するスマートコントラクトは、当事者の意思の合致があったものとして、契約として法律上有効なものと評価できるかが問題となりうる可能性があります。
当事者の意思表示がなされ、かつそれが一致したものと評価されるには、あらかじめ、「機械語で記述されたコントラクトが、当事者の一定の指示に基づいて、動作を行うことにより自動的に契約がなされる」という基本的な仕組みを、契約当事者が認識した上で、スマートコントラクトの利用に合意している必要があるものと考えられると、日本総合研究所の報告書は勧めています[出典:5]。
動作の結果について改めて明示的な承諾を行うことは必要ありませんが、サービスの説明やシステム利用にあたっての約款・契約、社会的な共通理解などにより、 合意成立の基礎となる社会的な共通理解がなされることが求められるでしょう。
ブロックチェーンは新しい技術である為、これらの理論的な検証がなされていないこと、同時に、実サービスへ応用した場合の実証も少ないことがありますが、年々着実に課題への解決法や検証がされていることも事実です。技術面、ビジネス面の双方で、これからもより詳細な検討と追及が必要です。