2025年までに世界のGDPの10%がブロックチェーン上に蓄積されると言われる昨今。耐改ざん性や分散性というブロックチェーンの特徴はセキュリティを担保しきれるのでしょうか?51%問題や秘密鍵流出など、実際のリスクと対策も併せて解説します!
なお、セキュリティを始めとしたブロックチェーンの諸課題について、全体像や他の事例を学びたい方は、次の記事も併せてご覧ください。
→参考記事:『ブロックチェーンの3つの課題とは?〜スケーラビリティ、ファイナリティ、セキュリティ〜』
ブロックチェーンの重要性とセキュリティ
世界のGDPの10%がブロックチェーン基盤上に蓄積される?
「ブロックチェーン=ビットコイン」と考えていたらあっという間に世の流れから取り残される。
そう聞いたら、どのように思うでしょうか?
一昔前(といっても2010年代ですが)までは、ブロックチェーンといえば、ビットコインを始めとする暗号資産(仮想通貨)を支える基幹技術の一つに過ぎませんでした。
それもそのはず、もともとブロックチェーンは、2008年に生まれたビットコインネットワークの副産物でしかなく、多くのビジネスパーソンからはFintechの一領域として認識されていました。
しかし、ブロックチェーンの技術に対する理解が徐々に深まるにつれ、金融のみならず、物流・不動産・医療など、多種多様な産業での応用が進み始めました。
そして、世界経済フォーラムによると、2025年までに世界のGDPの10%までがブロックチェーン上に蓄積されるようになるとの予測もなされるほどに、ブロックチェーンの存在感は大きくなりました。
そのため、ブロックチェーンを投機的な金融の一手法に過ぎないと見るか、今後の世界の様相を大きく変える「ジェネラル・パーパス・テクノロジー」と見るかによって、私たちの行く末は大きく異なってくると言えるでしょう。
そもそもブロックチェーンとは?
ブロックチェーンは、2008年にサトシ・ナカモトと呼ばれる謎の人物によって提唱された「ビットコイン」(暗号資産システム)の中核技術として誕生しました。
ブロックチェーンの定義には様々なものがありますが、ここでは、「取引データを適切に記録するための形式やルール。また、保存されたデータの集積(≒データベース)」として理解していただくと良いでしょう。
一般に、取引データを集積・保管し、必要に応じて取り出せるようなシステムのことを一般に「データベース」と言いますが、ブロックチェーンはデータベースの一種であり、その中でも特に、データ管理手法に関する新しい形式やルールをもった技術です。
「分散型台帳」とも訳されるブロックチェーンは、中央管理を前提としている従来のデータベースとは異なり、常に同期されており中央を介在せずデータが共有できるので参加者の立場がフラット(=非中央集権、分散型)という特徴を備えています。
従来のデータベースの特徴
- ① 各主体がバラバラな構造のDBを持つ
- ② それぞれのDBは独立して存在する
- ③ 相互のデータを参照するには新規開発が必要
ブロックチェーンの特徴
- ①’ 各主体が共通の構造のデータを参照する
- ②’ それぞれのストレージは物理的に独立だが、Peer to Peerネットワークを介して同期されている
- ③’ 共通のデータを持つので、相互のデータを参照するのに新規開発は不要
こうしたブロックチェーンの「非中央集権性」の恩恵としては、
- 中央を介さないので中間手数料がない、または安い
- フラットな関係でデータの共有が行えるので競合他社同士でもデータを融通できる
- 改ざんや喪失に対して耐性がある
ということが挙げられます。
まさにこの「非中央集権、分散型」という特徴こそ、ブロックチェーンが様々な領域で注目・活用されている理由だと言えるでしょう。
ブロックチェーンはセキュリティの万能薬ではない?
ブロックチェーンの大きな特徴の一つに、「データの耐改ざん性が高い」ということが挙げられます。
これは、トランザクションと呼ばれる個々のデータの塊のそれぞれに鍵がかけられている(公開鍵暗号方式)ことに加え、トランザクションの塊であるブロックの生成時にもコンセンサスアルゴリズムと呼ばれる合意形成のルールが適用されることで、データを書き換えることのハードルが非常に高くなっていることを意味しています。
こうした背景から、「ブロックチェーン=セキュリティを高める技術」であると考えている方も少なくありません。
しかし、残念ながら、ブロックチェーンはセキュリティの万能薬というわけではありません。
確かに、ブロックチェーンは上述したような仕組みそのものの対改竄性に加えて、時系列順に取引履歴を追えること(トレーサビリティ)やネットワーク参加者間でのデータ同時共有という思想(データの対喪失性)も相まって、物流業界における偽造品対策の効果的手法として活用されるなど、そのシステムのセキュリティレベルの高さに大きな期待がされています。
実際に、ブロックチェーンは、理論的には非常に堅牢なセキュリティ技術として働くことが可能で、従来のデータベースからブロックチェーン基盤へと切り替えることは、セキュリティ対策の一環としても効果がもたらされうることでしょう。
ですが、残念なことに、ブロックチェーンは「強いAI」というわけではなく、あくまで人間が稼働させる一つのシステムです。
そのため、ブロックチェーンが社会実装される過程のヒューマンエラーによって(コーディングのバグ等)、あるいは組織的な恣意性によって(51%問題等)、理論が適切に効果を発揮しないことでセキュリティが脅かされることも十分にありえます。
それでは、やはりブロックチェーンは社会の救世主とはなりえないのでしょうか?
この問題を考えるためには、概念を一括りにして議論するのではなく、ブロックチェーンの種類(パブリック/クローズド)を切り分けた上で、それぞれの限界点と対策についてみていくのがよいでしょう。
次に、これらについて、それぞれ説明していきます。
ブロックチェーンの種類とセキュリティ
ブロックチェーンの分類方法
ブロックチェーンは大別すると、「パブリック型(Unpermissioned型)」と「クローズド型(Permissioned型)」の2つに分けることができます。
一般に、クローズド型ではなく「コンソーシアム型」「プライベート型」とさらに細分化させる議論が多いですが、ここでは「管理者の不在/在」という軸で分けることにより、後者をクローズド型として一括りに考えています。
ブロックチェーンの種類がセキュリティに与える影響
ブロックチェーンの種類を分ける上では、とりわけネットワークがセキュリティ要件に与える影響を考える上では、ノード(ブロックチェーンネットワークへの参加者)が限定されていないか、限定されているかが大きな論点です(前者がパブリック型、後者がクローズド型のブロックチェーン)。
一般に、「ブロックチェーン」はノードが限定されていないパブリック型を指していることが多いですが、この種類のネットワークの場合、不特定のノードが参加することでより公共性の高いネットワークを形成する必要が生じ、結果として意思決定やセキュリティの要件が引き上げられます。
他方、ノードが限定されていないクローズドなブロックチェーンネットワークでは、特定の企業が許可された管理者として振る舞うことで、パブリック型の課題である意思決定やセキュリティの問題をある程度クリアすることができます。
例えば、2016年に検証が開始された海運業界のプラットフォームである「TradeLens」(IBMとMaerskが共同構築したHyperLedgerによるコンソーシアムブロックチェーン)では、二社が管理者としてネットワークのバランスを保つ役割を果たしていると言えます。
こうした背景から、ノードの参加者が限定されているパブリック型は企業向けのエンタープライズ用途に好まれますが、一方でこの仕組みはブロックチェーンを使う意義が薄いのでは、という指摘もあります。
ブロックチェーンのセキュリティリスク①:51%問題
セキュリティリスクの内容
先ほどみた「パブリックチェーン」のうち、ビットコインの原理的なセキュリティリスクと言われているのが「51%問題」です。
51%問題とは、「ある特定のノード(ネットワークの参加者)が、ネットワーク内のマシンパワーの総量を超えるパワーでマイニングを行うと、そのノードの恣意性にネットワーク全体が左右される」という問題のことで、平たく言えば、「ネットワークの乗っ取り(牛耳り)」問題といったところでしょうか。
初心者の方には意味不明かと思うので、順をおって説明します。
まず、ブロックチェーン基盤には中央管理者が存在しないため、そのネットワーク内での意思決定、例えばある取引について複数の異なる情報が提出された時(AさんはBさんに10BTC渡したが、Bさんは5BTCしか受け取っていないと主張する、といったイメージ)にどの取引記録が正しいかを決めるためには、「全てのノードが合意する、あらかじめ決められた、何かしらのルール」に基づいて判断を下さなければなりません。
このルールのことを「コンセンサスアルゴリズム」といい、ブロックチェーン基盤ごとにそれぞれのコンセンサスアルゴリズムが定められています。
例えば、イーサリアムのPoS(Proof of Stake、プルーフオブステーク)、ネムの PoI(Proof of Importance、プルーフオブインポータンス)、リップルのPoC(Proof of Consensus、プルーフオブコンセンサス)といったあたりが有名です。
さて、ビットコインでは、「マイニング(各ノードのマシンパワーを利用した計算)」を行わせることで合意形成を行う、「PoW(Proof of Work)」および「ナカモト・コンセンサス」というコンセンサスアルゴリズムを採用しています。
ビットコインの仕組みでは、マイナーと呼ばれる複数のノード達がマイニングを行った結果ブロックが生成されていく(PoW)のですが、その積み重ねとして最もブロックの数が多くなったチェーンが正しい取引記録であるとみなす(ナカモト・コンセンサス)という合意形成のルールが敷かれているのです。
ここで、これらのルールを逆手にとると、次の①②が言えます。
- ナカモト・コンセンサス=「最もブロック数が多いチェーンが正しい」 → ①ある取引記録を正当化するためには、他のチェーンよりもブロックを多くつくればよい
- PoW=「ブロックをつくるためには計算を行うためのマシンパワーが必要」 → ②他のチェーンよりもブロックを多くつくるためには他の対抗勢力となるノードよりも多くのマシンパワーを用いれば良い
そして、①②から、さらに次のような定理が導かれます。
- ネットワーク全体のマシンパワーの総量の過半数を手に入れれば、どんな取引記録も正当化できる
これが、ビットコインの原理的なセキュリティリスクである「51%問題」です。
51%問題は、ビットコインの原理であるコンセンサスアルゴリズムを逆手に取ったセキュリティハックなので、原理が変わらない限りはこのリスクをなくすことはできません。
セキュリティが脅かされた事例
51%問題による暗号資産(仮想通貨)へのセキュリティ攻撃として話題になったのが、「モナコイン」事件です。
2018年5月中旬に仮想通貨Monacoin(モナコイン)への攻撃、また同時期に別の仮想通貨であるVergeとBitcoin Goldへの攻撃も発生したという事案で、一般メディアでもニュースに取り上げられて大きな話題となりました。
仮想通貨Watchによると、この事案での攻撃は、次の3点に要約されます。
- Bitcoin Gold(BTG)への51%攻撃。5月16~19日にかけて発生。被害額は推定1800万ドル(約20億円)。
- Verge(XVG)のバグを突いたTime Warp攻撃。4月と、5月22日、5月29日に発生。被害額は推定270万ドル(2億9000万円)。
- モナコイン(Mona)へのセルフィッシュ・マイニング攻撃(Block withholding attack)。5月13~15日に発生。被害額は推定9万ドル(980万円)。
被害額こそ一番小さいものの、モナコインは上記3種の仮想通貨の中で日本の仮想通貨取引所が取り扱う唯一の通貨であることと、モナコインが受けた「セルフィッシュ・マイニング攻撃」と呼ばれる手口が、先ほど述べたコンセンサスアルゴリズムの穴を突いた51%問題の事例であったことなどから、この事例はモナコイン問題として知られています。
事例の詳細については専門性が高く、理解が難しいためここでは割愛しますが、いずれにせよ、51%問題が、実際の事件に結びつくようなセキュリティリスクであることは間違い無いでしょう。
(本件について詳しくお知りになりたい方は、仮想通貨Watchの記事によくまとまっているので、ご覧ください)。
セキュリティリスクの対策方針
51%問題の対策方針は、「コンセンサスアルゴリズムを変更すること」です。
先ほど説明したように、51%問題は原理的なセキュリティリスクであり、PoWおよびナカモト・コンセンサスが合意形成のルールである以上、完全な対策は不可能です。
もちろん、ネットワークの規模が大きくなればなるほど、ネットワーク総量の過半数をとるマシンパワーを用意することは難しくなっていくので、51%問題を利用した攻撃のハードルも上がってはいきます。
しかし、あくまで難易度が上がるだけの話であるため、リスクがなくなるわけではありません。
また、ビットコインと同じコンセンサスアルゴリズムを採用した新しいネットワークは、51%攻撃の高い危険性にさらされることになります。
したがって、51%問題のリスクをなくすためには、ルールそのものを変更する必要があるのです。
これは、ビットコイン以外のブロックチェーンネットワークにおいて実際に行われていることで、例えば、イーサリアムで採用されている「PoS(Proof of Stake)」は、51%攻撃のリスクを限りなく低くすることを目的に定められてルールと言われています。
PoSは、「ネイティブ通貨の保有量に比例して、新たにブロックを生成・承認する権利を得ることができるようになる仕組み」であるため、あるノードが51%攻撃を行うためには、ネットワーク全体の過半数のコインを獲得しなければならず、これは過半数のマシンパワーを一時的に利用することと比べて、はるかに難易度が上がります。
また、コンセンサスアルゴリズムだけではなく、ネットワーク参加者自体を許可制にすることも、51%問題に対する一つの対策方法です。
先述した「コンソーシアム型」と呼ばれるブロックチェーンネットワークでは、「PoA(Proof of Autority)」というコンセンサスアルゴリズムのもと、閉じられたネットワーク内で一部のノードに合意形成の権限を与えるという形をとっています。
ブロックチェーンのセキュリティリスク②:秘密鍵流出問題
セキュリティリスクの内容
ブロックチェーンのセキュリティリスクとしてもう一つ代表的なものが、「秘密鍵流出」の問題です。
これは、いわゆる「なりすまし」攻撃で、各ノードが保有するアカウントに付与された「秘密鍵」を盗まれることで起こります。
ブロックチェーンの仕組みでは、ネットワーク基盤上で行われた取引記録が「トランザクション」と呼ばれる塊として大量にプールされており、そのプールから1MB(メガバイト)分のトランザクションを取り出して「ブロック」としてまとめています。
このトランザクションが取り出される際に「秘密鍵暗号方式」と呼ばれる方法でトランザクションへの「署名(秘密鍵で暗号化する)」が行われることで、トランザクション自体のセキュリティが担保されています。
通常、この秘密鍵は、各アカウントごとに一つだけ付与されるもので、この鍵を使うことでアカウントに紐づいた様々な権限を利用することができます。
そのため、この鍵自体が盗まれてしまうと、個人アカウント内の権限を第三者が悪用できてしまうことになります。
これが、秘密鍵流出問題です。
セキュリティが脅かされた事例
秘密鍵流出問題として、世間を大いに騒がせたのが「コインチェック」事件です。
仮想通貨取引所であるコインチェックが第三者による不正アクセスを受け、日本円で約580億円に相当する5億2300万NEMが流出してしまった事件で、仮想通貨に対する一般消費者の信用を大きく落とすきっかけになった事件としても記憶に新しいでしょう。
TechCrunchによると、事件の経緯は次の通りです。
- 2時57分(以後、すべて1月26日):事象の発生(コインチェックのNEMアドレスから、5億2300万NEM(検知時のレートで約580億円)が送信される。
- 11時25分:NEMの残高が異常に減っていることを検知
- 11時58分:NEMの入出送金を一時停止
- 12時7分:NEMの入金一時停止について告知
- 12時38分:NEMの売買一時停止について告知
- 12時52分:NEMの出金一時停止について告知
- 16時33分:日本円を含むすべての通貨の出金を一時停止について告知
- 17時23分:ビットコイン以外の仮想通貨の売買、出金を一時停止・告知
- 18時50分:クレジットカード、ペイジー、コンビニ入金の一時停止について告知
コインチェック事件では、秘密鍵への対策が十分に施されていないウォレットで管理していたことが不正送金の原因になったのではないかと言われており、ブロックチェーンの仕組みや原理そのものではなく、運用上のヒューマンエラーに近い要因でのセキュリティリスクを顕在化させた事例としてみることができるでしょう。
セキュリティの対策方針
秘密鍵流出問題への対応策の一つとされているのが、「マルチシグ(マルチシグネチャーの略)」です。
トランザクションの署名に複数の秘密鍵を必要とする技術のことで、マルチシグを利用する際には、例えば企業の役員陣で鍵を一つずつ持ち合うなどの対応がとられます。
マルチシグは、秘密鍵流出問題へのリスクヘッジ方法であると同時に、 一つの秘密鍵で署名を行う通常のシングルシグに比べてセキュリティレベルも高くなることから、取引所やマルチシグウォレットなどで採用されています。
ただし、上述のコインチェック事件のように、個人レベルでマルチシグを利用していたとしても、取引所そのもののセキュリティが破られてしまった場合には被害を食い止めることはできません。
セキュリティへの攻撃は複数階層に対して行われうるものであることを理解して、単一の技術のみに頼るのではなく、本質的な対応をとるように心がけましょう。