目次
51%攻撃
51%攻撃とは
51%攻撃とは、悪意ある集団や個人がブロックチェーン上での取引承認権を独占(過半数を支配)して、不正な取引の承認などを行う行為のことです。
ビットコインの基盤技術となるブロックチェーンは、取引データを承認する管理者が不在です。
上記図は、接続されたコンピュータ同士が対等の立場でデータのやり取りをする接続・通信方式である「P2P(ピアツーピア)」のイメージ例であり、ブロックチェーンはこの接続方式を採用しています。
P2Pネットワークでは、接続されたコンピュータ同士が対等の立場であり、取引データを承認する管理者が不在です。
そのため、取引データが正しいものかを判断する仕組みが必要です。この仕組みをコンセンサスアルゴリズムと呼び、ビットコインではPoW(プルーフ・オブ・ワーク)と呼ばれるコンセンサスアルゴリズムを採用しています。
51%攻撃は、このPoWの仕組みを利用した攻撃です。
PoWでは、コンピュータなどの計算リソースを競わせて取引承認(ブロックの生成)を行います。そのため、計算能力の高いマイナーになるほどブロックを生成できる確率は高まります。
もし特定のグループが高い計算能力を持ち、全体の過半数を支配できたら、そのグループは事実上ビットコインのネットワークをコントロールできるということです。
スポンサーリンク
51%攻撃の仕組み
PoW(プルーフ・オブ・ワーク)では、ナンス(Nonce)と呼ばれる値を求めることで"取引の承認"および"確認作業"をおこないます。ナンスを求めるには膨大な計算が必要です。
この膨大な計算をする人たち(ノード)を「マイナー」、この作業を「マイニング」と呼び、世界中のマイナーたちが競争します。
マイニングの競争に勝利すると、勝者が発見したナンスを含むブロックがブロックチェーンの末尾に追加されます。そして、ナンスを最初に発見した人には、成功報酬として新たに発行されたビットコインが与えられます。
マイニングの競争の勝者が発見したナンスを含むブロックが、新たにブロックチェーンに接続されます。ただ異なるナンスが発見された場合、次の図のように分岐することがあります。
PoWでは一時的な分岐は許容しており、各マイナーは任意の分岐を選んでマイニングを継続、その結果、最も長くなったチェーンを正当なチェーンとして扱います。(正当なチェーンに選ばれなかった場合は、成功報酬もなくなる)
最も長くなったチェーンを正当とする理由は、長くなったチェーンはそれだけ多くの施行が実施され、多くのマイナーがそのチェーンに合致していたと考えられるからです。
51%攻撃はまさにこの仕組みを利用した行為です。
本来であれば正しい方向にチェーンは長くなっていきます。
しかし悪意のあるグループが全体の51%以上の力を持つことで、上記図のように正しくない方向にブロックチェーンをつなげていくことが可能です。
これが51%攻撃です。
51%攻撃で出来ること
51%攻撃では次のような不正操作を行うことができます。
51攻撃でできること
- 取引承認権の独占
- 取引の二重支払い
取引承認権の独占
51%攻撃では、悪意のあるグループが全体の51%以上の力を持つことで、正しくない方向にブロックチェーンをつなげていくことが可能です。
承認作業を担うコンピュータ(マイナー)の過半数(51%以上)が嘘の取引承認を行えば、その嘘の取引承認が正当であると判断されてしまいます。(最も長くなったチェーンが正当なチェーンになる)
その結果「ある取引を承認されないように妨害する」などの不正操作が可能です。
取引の二重支払い
ビットコインを初めとする暗号資産(仮想通貨)の二重支払いとは、同じ暗号資産(仮想通貨)を二重に送金(支払い)してしまうことを指します。
通常、ブロックチェーンにおいて二重支払いが行われた場合は、先の取引を採用して、後の取引を不正な取引として無効にします。
しかし、51%攻撃により後の取引を承認することにで二重支払いを可能にしてしまいます。
51%攻撃で出来ないこと
51%攻撃はあくまでも正しくない方向にブロックチェーンをつながていく攻撃です。
そのため、次のようなことはできません。
51%攻撃でできないこと
- 過去の取引履歴を「改ざん」する
- 他人の暗号資産(仮想通貨)を奪い取る
過去の取引履歴を「改ざん」する
51%攻撃はあくまでも取引の承認権の独占であって、取引履歴は「改ざん」できません。
ブロックチェーンは、取引データを「ブロック」という1単位で記録し、その「ブロック」を「チェーン」のようにつないで保管する技術です。
各ブロックには、直前のブロックの内容を表す「ハッシュ値」と呼ばれる値が書き込まれています。
仮に参加者の中に不正を働く者がいて過去の取引履歴を「改ざん」したとします。
しかしブロックには、直前のブロックの内容を表す「ハッシュ値」が存在します。取引データを「改ざん」すると、それによって導き出されるハッシュ値も変わります。
そのため「改ざん」したブロック移行の全ブロックのハッシュ値を変更する必要があり、またブロックチェーンには次々と新たなブロックが追加されます。このブロックすべてを書き換えていくのは極めて困難な作業です。
他人の暗号資産(仮想通貨)を奪い取る
51%攻撃はあくまでも取引の承認権の独占であって、取引そのものを操作できるわけではありません。
取引の承認をコントロールできても、ビットコインなど他人の暗号資産(仮想通貨)を奪い取ることはできません。
スポンサーリンク
51%攻撃の対策
51%攻撃の対策は今のところ存在しません。
ただ51%攻撃はそこまで危険を感じる必要はないと言われています。
その理由は、51%攻撃を実施し期待値以上の利益を得ることができないと考えられているからです。
マイニングは膨大な計算を必要とします。マイニングの競争に勝つにはコストがかかります。さらに51%攻撃をするには過半数(51%以上)を支配する必要があり、非常に高いコストがかかります。
また、仮に51%攻撃に成功しても不正が判明したらビットコインの価値が暴落することが予想できます。悪意のある攻撃者は価値が暴落したビットコインを不正に得ても利益につながらないのです。
PoWでは、51%攻撃のような不正行為を行うより、マイニングの報酬を受け取るメリットの方が上回るように設計されています。
しかし、過去には51%攻撃による被害が複数報告されており、2018年には暗号資産(仮想通貨)「モナコイン」「バージ」「ビットコインゴールド」「ゼンキャッシュ」などの被害が報告されています。