ブロックチェーンとは|仕組みとセキュリティリスクについて解説

近年注目されているブロックチェーン技術は改ざんが難しくセキュリティ的に安全と言われ、主に暗号資産やNFTなどで利用されています。暗号資産のイメージが強いブロックチェーンですが、最近では物流、農業、観光など金融領域以外の分野でも利用が加速しています。一方で暗号資産の流出やNFTの盗難被害も報告されています。このコラムではブロックチェーン技術の仕組みやセキュリティリスクについて解説します。
目次
ブロックチェーンとは
ブロックチェーンとは暗号資産「ビットコイン」の中核技術としてサトシ・ナカモト氏によって提唱された「データを安全に保存するための仕組み」です。ビットコイン取引のために考案された仕組みですが、その有用性から様々な分野で活用されています。ブロックチェーン登場までの電子取引は企業や行政など特定の管理者がすべての取引を管理する中央集権型のシステムでした。この中央集権型のシステムはサイバー攻撃や障害に弱く、取引の透明性が低いなどの問題がありました。ブロックチェーンはこの問題を解決し、攻撃や障害に強く透明性の高い取引の仕組みを目指して作られました。
ここからはブロックチェーンの革新的な三つの仕組みについて簡単に説明します。
※実際のブロックチェーンは複雑な処理をしていますが、ここでは説明のためにかなり簡略化しています。
ブロックとチェーン
ブロックチェーンの説明する前にブロックチェーンの根幹となるハッシュ値について説明します。ハッシュ値とはハッシュ関数によって変換される値で、一方向にしか変換できない(ハッシュ値から元の値は推測できない)値です。同じデータは何度変換しても同じハッシュ値が得られ、どんなデータを変換しても同じ桁数のハッシュ値が得られます。この性質を利用することでブロックチェーンは改ざんに強い構造となっています。

ブロックチェーンの取引記録は「ブロック」と呼ばれる物の中に記録されます。ブロックには、「取引データ」と「1つ前のブロックのハッシュ値」、「ナンス値」が入っています(ナンス値については後ほど解説)。この1つ前のブロックのハッシュ値が含まれるというのがポイントで、ブロック同士はブロックのハッシュ値によって古い物から順にチェーンのようにひと繋ぎになっています。これがブロックチェーンと呼ばれる理由です。

攻撃者がこのつながったブロックを改ざんしようとすると、次のブロックのハッシュ値との整合性が取れなくなり、次のブロックも改ざんしなければなりません。しかし今度はその次のブロックとの整合性が取れなくなります。このように改ざんを行おうとすると、それにつながるすべてのブロックを改ざんする必要があり、とてつもない労力がかかるのです。これによってブロックチェーンは改ざんが難しくなっています。

データの分散保存
中央集権型のシステムではデータは管理者がまとめて所有しています。一方でブロックチェーンは分散型台帳とも呼ばれ、ブロックチェーンの参加者(ノード)はすべてのデータを持つことができます※。これによって一部で改ざんや障害が起こったとしてもすべてのノードが停止しなければシステムを維持することができます。
※ノードによってはデータを持たないものもあります。

コンセンサスアルゴリズム
前述したブロック同士がつながる仕組みによってブロックチェーンのデータは改ざんが難しいとお話ししました。しかし、一番新しいブロックでは次のブロックが無いため、改ざんが起こる可能性があります。その対策としてブロックチェーンでは新しいブロックを安全に作るための仕組みを構築しています。そこで使われるのがProof of Work(PoW)※という承認の仕組みです。ブロックチェーンで新しいブロックを作るためには新しいブロックのハッシュ値が”一定以上の発見難易度”でなければならないというルールがあります。一定以上の発見難易度とは、例えばハッシュ値の先頭に0が数桁並ぶような珍しい数値です。前節でブロックの中には「ナンス値」というものが含まれているとお話しましたが、そのナンス値がここで使われます。ナンス値は新しいブロックの作成ルールを満たすために入れる調整のための文字列です。ブロックチェーンの参加者は一定以上の発見難易度となるように新しいブロックに入れるナンス値をいろいろ試します。この作業をマイニングと言い、条件を達成するナンス値を早く見つけたノードに新しいブロックを作る権利と報酬が与えられます。ナンス値を見つける作業はくじを引くようなもので計算能力が高くても確実に発見できるわけではありません。そのため、悪意あるノードがブロックを作り続けることは非常に難しくなっています。また、作られた新しいブロックの承認はノードの多数決により行われるため、悪意あるノードがマイニングに成功したとしても、改ざんされたブロックの作成を防ぐすることができます。これらの仕組みによってブロックチェーンは改ざんを防ぐことができるのです。
※ブロックチェーンによってはProof of Stake(PoS)など他のコンセンサスアルゴリズムが採用されている場合もあります。
ブロックチェーンのセキュリティリスク
前述した仕組みによってブロックチェーンの改ざんは非常に難しくなっています。一方で暗号資産やNFTの盗難が発生したとのニュースを耳にします。これらは、なぜ発生しているのでしょうか。この章ではブロックチェーンのセキュリティリスクについて解説します。
ブロックチェーンそのものが攻撃を受ける
ブロックチェーンは従来のシステムに比べて情報セキュリティ的に安全です。しかし、多数のノードがブロックチェーンの運営にかかわるという性質上、悪意あるノードによる攻撃を受けるリスクがあります。攻撃が成功する確立は非常に低いですが、実際に国内外で発生した事例もあります。
51%攻撃
ブロックチェーンで改ざんが難しいのはPoWによって悪意あるノードの改ざん行為が抑制されているからです。しかし、悪意あるノードがブロックチェーン全体の計算能力の51%以上を獲得してしまうと、多数決で悪意あるノードが勝利し改ざんされたブロックの承認を行われる可能性があります。これを51%攻撃と言います。51%攻撃が起こると、二重送金などの不正な取引の承認が起こる可能性があります。
ビットコインのような大きなブロックチェーンではノードの数が多く、計算能力の過半数を獲得するには膨大なコストがかかるため51%攻撃は発生しにくいと考えられています。一方で、ノードの数が少ないブロックチェーンでは過半数を獲得しやすく発生が警戒されています。海外では実際に51%攻撃が起こった事例も報告されています。
セルフィッシュマイニング
ブロックチェーンでは、まれに新しいブロックが作られる際にチェーンが分岐することがあります。分岐がそのままになると問題が起きるため、ブロックチェーンは分岐が起きた場合に一定期間後に一番長くなっている分岐を正しいものとしてそれ以外は無効にします。この性質を利用した攻撃が「セルフィッシュマイニング」という攻撃です。攻撃者は、マイニングを行いブロックを作りますが、それを公開せずに自分のもとにストックしておきます。そして現在公開されているチェーンより長くなった段階でそれを公開します。すると、攻撃者の公開したブロックチェーンが一番長くなり正しいものとして成立してしまうのです。このセルフィッシュマイニングが起こると取引履歴が改ざんされる、マイニング報酬を不正に受け取るなどの不正行為が行われる可能性があります。
セルフィッシュマイニングは攻撃者が他のマイナーよりも多くブロックを作る必要があるため、ノードの多いブロックチェーンでは発生しにくいと考えられています。実際にセルフィッシュマイニングが起こった事例では、ノードが少なくマイニングの難易度が低いブロックチェーンが狙われています。
ブロックチェーン以外のリスク
ブロックチェーン自体はセキュリティが強固で安全性が高いとされていますが、ブロックチェーンに接続する端末は従来通りのサイバー攻撃を受ける可能性があります。また、端末の紛失や故障によってブロックチェーンを利用できなくなるリスクもあります。
秘密鍵の漏えい
私たちがブロックチェーンの中に保存されているデータにアクセスするとき、ウォレットと呼ばれるものを使ってアクセスします。ウォレットとはブロックチェーンのデータにアクセスするための秘密鍵を管理をするツールです。ウォレットは個人で管理する場合もあれば、暗号資産取引所のように企業がまとめて管理する場合もあります。
ウォレットを管理しているPCやスマートフォンなどが攻撃を受けて、ウォレットのアカウント情報や秘密鍵が流出してしまうとブロックチェーン内のデータが不正に書き換えられたり、暗号資産やトークンが不正に取引されたりする可能性があります。近年のブロックチェーンから暗号資産やNFTが盗難されるケースのほとんどは、ブロックチェーン自体が原因ではなく、この秘密鍵の盗難によって発生していると言われています。
端末の紛失、故障
サイバー攻撃だけでなく端末の紛失や故障も大きなリスクです。秘密鍵を保存したPCやスマートフォンが紛失または故障してしまうと、ブロックチェーン内のデータにアクセスできなくなり最悪の場合、永遠にアクセス権を失う可能性があります。また、紛失した端末を悪用されデータに不正にアクセスされる危険もあります。中央集権型のシステムでは、管理者であるサービス提供元の企業や機関へ問い合わせればアカウントの復旧や停止ができますが、ブロックチェーンは管理者がいないためそのようなことができません。そのため、秘密鍵の管理は通常のシステムよりも厳重に行う必要があります。
ブロックチェーンのリスクへの対策
ブロックチェーンそのものが攻撃を受けることへの対策
51%攻撃やセルフィッシュマイニングはブロックチェーンそのものが元々持っているリスクであることから、攻撃が起こらないように対策を行うことは困難です。一方で、これらの攻撃はノードが少ないブロックチェーンで発生しやすいことから、利用するブロックチェーンを選ぶ際にノードが多いブロックチェーンを選ぶことでリスクを下げることができます。また、これらはコンセンサスアルゴリズムPoWに起因するものであるためProof of Stake(PoS)など他のコンセンサスアルゴリズムを採用したブロックチェーンを利用するというのも対策になります。
秘密鍵が漏えいすることへの対策
秘密鍵の盗難を防ぐセキュリティ対策を行うことが有効です。攻撃者は秘密鍵を盗むためにフィッシングや端末をマルウェアに感染させるなどの手法を用います。このため、UTMやファイアウォールでフィッシングサイトへのアクセスをブロックしたり、エンドポイント対策製品でマルウェア感染を防いだりすることが有効な対策となります。 また、暗号資産取引所等ではマルチシグという秘密鍵を複数組み合わせて利用する方式を採用しているところもあります。秘密鍵を複数持っていることで一つが盗難されても安全に利用できるという仕組みです。これらを組み合わせて利用することで秘密鍵の漏えいするリスクを下げることができます。
端末の紛失・故障への対策
ウォレットのバックアップを取ることが有効です。ウォレットにはネットワークにつながった状態のホットウォレットとネットワークから切り離されたコールドウォレットがありますが、バックアップにはコールドウォレットを使用することをおすすめします。バックアップもホットウォレットとしていると、サイバー攻撃などを受けた際にバックアップ用のウォレットまで攻撃を受け使用できなくなる可能性があるためです。 コールドウォレットには、専用の電子機器に秘密鍵を保存するハードウェアウォレットと紙に秘密鍵を書き写して保存するペーパーウォレットがありますが、いずれの場合も厳重に管理し、普段持ち歩かないようにしましょう。
まとめ
今回はブロックチェーンの仕組みとセキュリティリスクについて解説しました。ブロックチェーンは今後様々な分野で利用が広がっていくと予想されています。仕組みとリスクについて理解し、セキュリティ対策を実施した上でブロックチェーンを利用しましょう。