ブロックチェーンの3つの課題とは?〜スケーラビリティ、ファイナリティ、セキュリティ〜

DXの有望技術として期待されるブロックチェーン。分散型台帳とも呼ばれるこの技術が普及するためには克服すべき3つの課題、スケーラビリティ・ファイナリティ・セキュリティがあります。本記事では、3つの課題の概要と解決策を解説します。

なお、ブロックチェーンの過去、現在、今後について、概念の全体像を学びたい方は、次の記事も併せてご覧ください。
→ 参考記事:『ブロックチェーン(blockchain)とは?仕組みや基礎知識をわかりやすく解説!』

  1. ブロックチェーンのおさらい
  2. ブロックチェーンの課題①:スケーラビリティ
  3. ブロックチェーンの課題②:ファイナリティ
  4. ブロックチェーンの課題③:セキュリティ

ブロックチェーンのおさらい

高まるブロックチェーン市場への期待

ブロックチェーンは、「AI」「IoT」と並んで、DX(デジタルトランスフォーメーション)分野で期待される有望技術の一つです。

DXとは、「情報テクノロジーの力を用いて既存産業の仕組みや構造を変革すること、あるいはその手段」のことで、大きくは産業全体のバリューチェーンやサプライチェーンにおけるイノベーション、小さくは開発企業におけるエンジニアの就労環境改善や社内コミュニケーションツールの変更といった自社の変革など、仕事だけでなく、私たちの生活全体を大きく変える可能性として期待されています。

その中でも特に、ブロックチェーンは、既存技術では解決できなかった課題を乗り越える新しい手段として、ビジネスのみならず、官公庁の取り組みにおいても広く注目を集めています。

その背景として、もともとはFintech(フィンテック、金融領域におけるDX)の一分野である仮想通貨(または暗号通貨)の実現を可能にした一要素技術、つまりビットコインを支えるだけの存在に過ぎなかったブロックチェーンが、近年、金融領域にとどまらず、あらゆる既存産業・ビジネスで応用できる可能性を秘めた技術であることが明らかになってきました。

ブロックチェーンとは何か?

ブロックチェーンは、2008年にサトシ・ナカモトと呼ばれる謎の人物によって提唱された「ビットコイン」(暗号資産システム)の中核技術として誕生しました。

ブロックチェーンの定義には様々なものがありますが、ここでは、「取引データを適切に記録するための形式やルール。また、保存されたデータの集積(≒データベース)」として理解していただくと良いでしょう。

一般に、取引データを集積・保管し、必要に応じて取り出せるようなシステムのことを一般に「データベース」と言いますが、ブロックチェーンはデータベースの一種であり、その中でも特に、データ管理手法に関する新しい形式やルールをもった技術です。

「分散型台帳」とも訳されるブロックチェーンは、中央管理を前提としている従来のデータベースとは異なり、常に同期されており中央を介在せずデータが共有できるので参加者の立場がフラット(=非中央集権、分散型)という特徴を備えています。

分散台帳とは.jpg

従来のデータベースの特徴

  • ① 各主体がバラバラな構造のDBを持つ
  • ② それぞれのDBは独立して存在する
  • ③ 相互のデータを参照するには新規開発が必要

ブロックチェーンの特徴

  • ①’ 各主体が共通の構造のデータを参照する
  • ②’ それぞれのストレージは物理的に独立だが、Peer to Peerネットワークを介して同期されている
  • ③’ 共通のデータを持つので、相互のデータを参照するのに新規開発は不要

こうしたブロックチェーンの「非中央集権性」の恩恵としては、

  • 中央を介さないので中間手数料がない、または安い
  • フラットな関係でデータの共有が行えるので競合他社同士でもデータを融通できる
  • 改竄や喪失に対して耐性がある

ということが挙げられます。

まさにこの「非中央集権、分散型」という特徴こそ、ブロックチェーンが様々な領域で注目・活用されている理由だと言えるでしょう。

ブロックチェーンの課題①:スケーラビリティ

課題の概要

ブロックチェーンの課題の一つ目は、「スケーラビリティ」です。

スケーラビリティとは、「トランザクションの処理量の拡張性」、つまり、どれだけ多くの取引記録を同時に処理できるかの限界値のことを指します。

ブロックチェーンは、その仕組み上、従来のデータベースよりもスケーラビリティが低くならざるを得ないという課題を抱えています。

ブロックチェーンの仕組みでは、ビットコインやイーサリアム、リップルといった各ネットワークごとに予め定められた「コンセンサスアルゴリズム」と呼ばれる合意形成のルールに基づいて、一定量のトランザクション群をブロック化することで取引記録を保存しています。

したがって、ある単位時間にどの程度の量のトランザクションをブロック化、つまり処理できるかは、コンセンサスアルゴリズムに依存することになります。

例えば、ビットコインでは「PoW(Proof of Work、プルーフオブワーク)」というコンセンサスアルゴリズムとして採用しています。

これは、ネットワーク参加者(=「ノード」)に、自身のコンピュータのマシンパワーを利用したある計算に成功することを、ブロック生成の条件とするルールです。

そのため、ビットコインネットワークにおけるスケーラビリティ、つまりトランザクションの処理量は、ノードのマシンパワーに依存することになります。

ここで問題になるのは、ノードが増えれば増えるほど、オンタイムで同時処理しなければならないトランザクションの量が増えてしまい、計算が追いつかないことによって、業務遂行に必要なトランザクションの処理速度が十分に担保されなくなるリスクが増すことです。

一般に、スケーラビリティは「tps(transaction per second、1秒あたりのトランザクション処理量)」で定義することができますが、実際に、代表的なブロックチェーンネットワークは、次のように不十分なスケーラビリティだと言われています。

  • 一般的なクレジットカード:数万tps
  • ビットコイン(コンセンサスアルゴリズムがPoW):7tps
  • イーサリアム(コンセンサスアルゴリズムがPoS):15~20tps
  • コンソーシアム型のブロックチェーンネットワーク(コンセンサスアルゴリズムがPoA):数千tps

このように、ブロックチェーンは、オープンで分散的なデータベースとして期待を集めている一方で、ネットワーク参加者が増えるとスケーラビリティが担保できなくなるという課題を抱えています。

課題の解決策

スケーラビリティの課題に対する現状の解決策として、金融領域において、「ライトニングネットワーク(Lightning Network)」という新しい概念に注目が集まっています。

ライトニングネットワーク(英: Lightning Network)とは、少額決済(「マイクロペイメント」)等の小規模かつ多数回行われる取引の処理をブロックチェーン外で行い(「オフチェーン取引」)、最初と最後の取引だけをビットコインのブロックチェーンにブロードキャストして確定させる、ビットコインネットワークの新しい手法です。

高速決済技術であるライトニングネットワークでは、二者間でオフチェーン取引を行うペイメントチャネルという仕組みが利用されています。

ペイメントチャネルは、複数の秘密鍵でビットコインを管理するマルチシグという技術を背景にオフチェーン取引が可能になるため、ペイメントチャネルを利用した複数回の取引はブロックチェーン上に記録されることがありません。

こうしたライトニングネットワークの考え方を用いることで、トランザクションの処理速度が向上するだけでなく、従来、マイクロペイメント等で発生するはずだった多額の取引手数料がかからなくなるというメリットがあります。

ライトニングネットワークの実例として挙げられるのが、株式会社三菱UFJフィナンシャル・グループ(以下、MUFG)と米Akamai Technologies, Inc.(以下、Akamai)が2019年4月19日に設立した合弁会社、Global Open Network Japan株式会社(以下、GO-NET Japan)による、日本国内でオープンなペイメントネットワークサービス「GO-NETです。

GO-NETは、決済処理速度が2秒以内、毎秒100万件超の取引を可能とする新型ブロックチェーン技術を基盤とするサービスで、これまでブロックチェーンが抱えていたスケーラビリティという課題を、ライトニングネットワークによる高速決済によって克服する新しい試みとして注目を集めています。

ブロックチェーンの課題②:ファイナリティ

課題の概要

ブロックチェーン、特にその代表格であるビットコインの課題として知られるのが、「ファイナリティ(finality)」の問題です。

ファイナリティは決済にまつわる概念で、日本銀行によって、次のように説明されています(下記二文は公式サイトより引用、ただし一文目の丸括弧内と太字は筆者が追記)。

  • (ファイナリティーのある決済とは)「それによって期待どおりの金額が確実に手に入るような決済」のことを言います。
  • 具体的には、まず、用いられる決済手段について(1)受け取ったおかねが後になって紙くずになったり消えてしまったりしない、また決済方法について(2)行われた決済が後から絶対に取り消されない――そういう決済が「ファイナリティーのある決済」と呼ばれます。

ビットコインの仕組みでは、このファイナリティを十分に担保できないとして、特に金融領域における活用が懸念視されることがあります。

上記「スケーラビリティ」の項目でも触れたように、ビットコインではPoWと呼ばれる、ノード(ネットワーク参加者)のマシンパワーを利用した計算競争によって取引記録のブロック化についての合意形成をはかる仕組み(コンセンサスアルゴリズム)が採用されていますが、実は、このPoWがファイナリティの担保を邪魔しているのです。

そもそも、PoWは、次のような仕組みです。

  1. ある時、あるノードが、トランザクションプールと呼ばれる取引記録の集積場(のようなもの)から、一定量(1MB)のトランザクションを任意でとりまとめて、ブロック化を開始する。
  2. ブロック化を行うために、ノードはビットコインネットワークから与えられた計算課題を解くことを試みる。
  3. 同様に、世界同時多発的に複数のノードが計算を行い、計算に成功したノードが生成したブロックが他のノードに伝播されていく。
  4. 伝播された先のノードがブロック生成に用いた計算の「暗算」を行い、計算が正しいと認められたら、ブロック化に成功する。

ここで、ある問題が起こります。

ポイントは、複数のノードが同時多発的にブロック生成を行う点です。

PoWでは、複数のノードによる計算競争の結果を一旦すべて正規のブロックとして認めてしまうことになります。

そのため、ある一時点で、ネットワーク内には、複数のノードがつくった異なる複数のブロックが同時に存在することになり、さらにそれらの異なるブロックの中には、同じトランザクションが入っていたりするわけです。

そうすると、ある取引記録が正しいかどうかを確認するにあたり、複数の異なるブロックのうち、どのブロックが正しいものとして参照すべきかという問題が発生してしまいます。

これが、ビットコインにおける「フォーク」(チェーンの分岐のこと)と呼ばれる問題です。

さて、ブロックチェーンの課題に立ち返ってみると、このフォークの可能性が、ビットコイン決済におけるファイナリティの担保を邪魔していることがみえてきます。

PoWを原理として採用するビットコインでは、常に同時多発的に複数のブロックが生成され、その度ごとにチェーンの分岐(フォーク)が発生する可能性があるため、取引内容が覆る可能性を完全にゼロとすることができず、ファイナリティを担保することができないのです。

実は、ビットコインではチェーンの分岐が問題にならないように、PoWを補完するもう一つのコンセンサスアルゴリズムである、「ナカモト・コンセンサス」を採用しています。

ナカモト・コンセンサスは、複数のブロックが同時生成された場合、ブロックの集積が最も多い(つまり長い)チェーンに含まれるブロックを正規のものとみなすという考え方です。

一見、この考え方によって、ファイナリティが担保されなくもなさそうではあります。

しかし、残念ながら事態はそう簡単ではありません。

ナカモト・コンセンサスはあくまで合意形成に至る考え方の一つであって、実際には、例えば運営側による仕様の変更など大きく賛否の分かれる問題が生じた時、全員での合意形成には至らず、複数の異なるチェーンを正統とみなす派閥に分派してしまうことがあります(ちなみに、こうした運営側による仕様変更等でチェーンがはっきりと分派してしまうことを「ハード・フォーク」と呼びます)。

また、実際にこうした状況には至らなかったとしても、PoWでは、常にこうした分岐を発生させてしまうリスクを抱えているとも言えてしまいます。

そういった意味で、PoWを採用しているビットコインにおいて、「信用」を扱う決済領域で最も重視されるファイナリティを担保することは原理的に困難なのです。

課題の解決策

実は、このファイナリティの問題は、ビットコインに限った課題ではなく、イーサリアムなど他のブロックチェーンネットワークでも同様に抱えている課題です。

しかし、全てのブロックチェーンでファイナリティの問題が生じるわけではありません

ファイナリティの担保が難しいのは、PoWやPoSといった不特定多数の参加者での合意形成に至るためのコンセンサスアルゴリズムを採用しているネットワーク、つまり、「パブリックブロックチェーン」に限った話です。

そのため、ファイナリティを必ず担保する必要のある金融機関では、「コンソーシアム型」や「プライベート型」と呼ばれる参加者を限定したブロックチェーンネットワークを採用することで、この問題に対応するケースがあります。

実例としては、前述した「スケーラビリティ」の解決策として注目を集めるGO-NETがその最たるものです。

GO-NETは、ライトニングネットワークによる高速決済を可能にした次世代型ブロックチェーン基盤とも呼べるサービスですが、この技術的背景には、共同設立企業であるAkamai社の有する世界135か国、4000か所、24万台のサーバーで構成される高速なエッジコンピューティングがあります。

ビットコインやイーサリアムでは、不特定の参加者をサーバーと見立てたオープンなネットワークにマシンパワーの源泉が認められますが、GO-NETではその代わりに、Akamaiの持つ大量の自前サーバーを利用しています。

つまり、前者はパブリックなブロックチェーンネットワークで、後者はプライベートなブロックチェーンネットワークなのです。

GO-NETは、自社でのプライベートなプラットフォームをつくることで、前述したスケーラビリティ課題への対応だけでなく、同時にファイナリティの問題にも対応している好例だと言えるでしょう。

ブロックチェーンの課題③:セキュリティ

課題の概要

ブロックチェーンが原理的に抱える課題の3つ目が、「セキュリティ」の問題です。

こう言うと、驚かれる方も少なくないかもしれません。

というのも、ブロックチェーンの大きな特徴の一つに、「データの対改竄性が高い」ということが挙げられます。

これは、トランザクションと呼ばれる個々のデータの塊のそれぞれに鍵がかけられている(公開鍵暗号方式)ことに加え、トランザクションの塊であるブロックの生成時にもコンセンサスアルゴリズムと呼ばれる合意形成のルールが適用されることで、データを書き換えることのハードルが非常に高くなっていることを意味しています。

こうした背景から、「ブロックチェーン=セキュリティを高める技術」であると考えている方も少なくありません。

しかし、残念ながら、ブロックチェーンはセキュリティの万能薬というわけではないのです。

ブロックチェーンは「強いAI」というわけではなく、あくまで人間が稼働させる一つのシステムです。

そのため、ブロックチェーンが社会実装される過程のヒューマンエラーによって(コーディングのバグ等)、あるいは組織的な恣意性によって(51%問題等)、理論が適切に効果を発揮しないことでセキュリティが脅かされることも十分にありえます。

こうした事情からブロックチェーン、とりわけビットコインにつきまとうセキュリティ課題として、次の2つの問題が存在しています。

  • 51%問題
  • 秘密鍵流出問題

51%問題とは、「ある特定のノード(ネットワークの参加者)が、ネットワーク内のマシンパワーの総量を超えるパワーでマイニングを行うと、そのノードの恣意性にネットワーク全体が左右される」という問題のことで、平たく言えば、「ネットワークの乗っ取り(牛耳り)」問題といったところでしょうか。

先ほど説明したように、ビットコインではPoWおよびナカモト・コンセンサスと呼ばれるコンセンサスアルゴリズムのもと、複数のノードによる計算競争の結果、最も長いチェーンに含まれたブロックを正統なデータとしてみなす、という仕組みがとられています。

そして、この計算のスピードは、計算を行うノードのマシンパワーに依存しています。

そのため、この仕組みを逆手にとると、他のどのノードよりも強いマシンパワーを手に入れ、その結果、他のどのノードよりも速いスピードで計算を行うことができれば、そのノードは自分にとって有利な、恣意的な取引記録を正統にすることができます

これが、51%問題と呼ばれるセキュリティ上の課題です。

もう一つのセキュリティ課題が、秘密鍵流出問題です。

これは、いわゆる「なりすまし」攻撃で、各ノードが保有するアカウントに付与された「秘密鍵」を盗まれることで起こります。

ブロックチェーンの仕組みでは、前述した「ブロック化」の過程でトランザクションがプールから取り出される際に、「秘密鍵暗号方式」と呼ばれる方法でトランザクションへの「署名(秘密鍵で暗号化する)」が行われることで、トランザクション自体のセキュリティが担保されています。

通常、この秘密鍵は、各アカウントごとに一つだけ付与されるもので、この鍵を使うことでアカウントに紐づいた様々な権限を利用することができます。

そのため、この鍵自体が盗まれてしまうと、個人アカウント内の権限を第三者が悪用できてしまうことになります。

これが、秘密鍵流出問題です。

課題の解決策

51%問題と秘密鍵流出問題は、それぞれに、解決策が異なります。

順に、説明します。

51%問題への対応

51%問題の対策方針は、「コンセンサスアルゴリズムを変更すること」です。

先ほど説明したように、51%問題は原理的なセキュリティリスクであり、PoWおよびナカモト・コンセンサスが合意形成のルールである以上、完全な対策は不可能です。

もちろん、ネットワークの規模が大きくなればなるほど、ネットワーク総量の過半数をとるマシンパワーを用意することは難しくなっていくので、51%問題を利用した攻撃のハードルも上がってはいきます。

しかし、あくまで難易度が上がるだけの話であるため、リスクがなくなるわけではありません。

また、ビットコインと同じコンセンサスアルゴリズムを採用した新しいネットワークは、51%攻撃の高い危険性にさらされることになります。

したがって、51%問題のリスクをなくすためには、ルールそのものを変更する必要があるのです。

これは、ビットコイン以外のブロックチェーンネットワークにおいて実際に行われていることで、例えば、イーサリアムで採用されている「PoS(Proof of Stake)」は、51%攻撃のリスクを限りなく低くすることを目的に定められてルールと言われています。

PoSは、「ネイティブ通貨の保有量に比例して、新たにブロックを生成・承認する権利を得ることができるようになる仕組み」であるため、あるノードが51%攻撃を行うためには、ネットワーク全体の過半数のコインを獲得しなければならず、これは過半数のマシンパワーを一時的に利用することと比べて、はるかに難易度が上がります。

また、コンセンサスアルゴリズムだけではなく、ネットワーク参加者自体を許可制にすることも、51%問題に対する一つの対策方法です。

先述した「コンソーシアム型」と呼ばれるブロックチェーンネットワークでは、「PoA(Proof of Autority)」というコンセンサスアルゴリズムのもと、閉じられたネットワーク内で一部のノードに合意形成の権限を与えるという形をとっています。

秘密鍵流出問題への対応

秘密鍵流出問題への対応策の一つとされているのが、「マルチシグ(マルチシグネチャーの略)」です。

トランザクションの署名に複数の秘密鍵を必要とする技術のことで、マルチシグを利用する際には、例えば企業の役員陣で鍵を一つずつ持ち合うなどの対応がとられます。

マルチシグは、秘密鍵流出問題へのリスクヘッジ方法であると同時に、 一つの秘密鍵で署名を行う通常のシングルシグに比べてセキュリティレベルも高くなることから、取引所やマルチシグウォレットなどで採用されています。

ただし、上述のコインチェック事件のように、個人レベルでマルチシグを利用していたとしても、取引所そのもののセキュリティが破られてしまった場合には被害を食い止めることはできません。

セキュリティへの攻撃は複数階層に対して行われうるものであることを理解して、単一の技術のみに頼るのではなく、本質的な対応をとるように心がけましょう。