仮想通貨の51%攻撃の問題点と対策について初心者でもわかりやすくお伝えしていきたいと思います。
仮想通貨はブロックチェーン技術を利用したハッキング不可能で安全な技術だといわれていますが、ハッキングとは別の方法で不正を行うことができるとされています。
それが51%攻撃と呼ばれるもので、これはマイナーがマイニング速度の50%以上を支配することで可能とされています。
例えばAという取引とB取引が同時に行われたとして一方が不正な取引だったとします。
ビットコインのコンセンサスアルゴリズム(承認方法)PoWではどちらの取引が正当なのかを多数決によって決定するようになっており(厳密に言うとちょっと違いますが)、ほとんどの場合は不正な取引はなかったことにされてしまいます。
しかしながら個人あるいはグループがマイニングの過半数(50%以上)を支配することで100%多数決で勝利することができるようになり、不正な取引でも承認することができるようになります。
50%以上の決定権を持って攻撃することから51%攻撃といわれており、これが行われると不正な取引が可能となってしまい、2重支払いが行えるようになります。
2重支払いとは同一のコインを2か所に送金しどちらも承認されることで不正な取引を可能にする手法のことです。
では実際にどのような操作をしたら2重支払いが可能になるのか見ていきいましょう。
まず51%以上の支配権を得たマイナーは単一の通貨を2か所に同時に送金します。
今回の例ではウォレットAから取引所とウォレットBに送金したとしましょう。
この時正しい取引はウォレットBに送金した記録としておきます。
ビットコインなどPoWを採用している仮想通貨ではどちらの取引が正当なのかを判断することができないため一時的にどちらも承認されます。
通常の手続きではそのあとのチェーンがウォレットBに送金したブロックの後に伸びていくことになり、取引所に送金した記録は削除されてしまうのですが、51%攻撃を行うとブロックの承認を自由に選択できるようになるため、一時的に取引所に送金したチェーンが正しいとすることができます。
この期間の間に取引所に送金した通貨を元のウォレットAに戻し、ブロックの承認を正しかったウォレットBの方に戻します。
このようにすることで最終的に間違っていたチェーンは破棄されることになり、その間に承認していた取引記録から攻撃者はウォレットAにあった通貨を倍にすることができるのです。
51%攻撃の問題点は?
51%攻撃に対する問題点は現状対策がないということです。
51%以上の権利を得ることで誰でも攻撃しうるのですが、これまではリスクとリターンの関係から攻撃は起きないとされていました。
またビットコインではそもそも51%の権利を得ることが不可能であり、現時点で最大の勢力でも支配権は10%前後となっています。
しかしながら最近になって連続して51%攻撃が行われたとのニュースがありました。
51%攻撃を受けたのはどの通貨?
モナコイン(MONACOIN)
2018年5月13日から15日にかけてモナコインが51%攻撃を受けて約9万ドル相当の被害を受けたとの報告がありました。
今回の攻撃では、モナコインをLivecoinなどの取引所を通して別の通貨に両替し、非公開チェーンを公開して取引を無かったことにするという手口であったようです。
犯人は未だ特定されておらず、全ハッシュレート(マイニング能力)の約57%を保持していたと推定されています。
Verge/ヴァージ(XVG)
4月に2千万XVG(時価約1億2千万円相当)が盗まれる被害を出したVergeは2018年5月22日に今度は51%攻撃により3500万XVG(約2億円相当)が盗まれる事件が発生しました。
今回のハッキングは、同通貨のマイニングプロトコルの欠陥性が悪用されたもので、ブロックの順番を表すタイムスタンプと呼ばれるものが偽装されたことが原因とされています。
ビットコインゴールド(BTG)
2018年5月16日から18日にかけて51%攻撃を受け、約39万BTG(約20億円相当)の被害があったとの報告がありました。
不正にコントロールされたビットコインゴールドは仮想通貨取引所と犯人のものと思われるウォレットに両方に送金されたことになっているとのことです。
このように2018年の5月から立て続けに51%攻撃が発生しており、PoWへの不信感が高まっています。
51%攻撃ではあくまで攻撃者本人の取引で不正を行うため他の利用者が被害に合うことはありませんが、それでも仮想通貨を所有しているユーザーからしてみればあまりいい気分ではありませんね。
51%攻撃を行う上でどの通貨にどのくらいのコストがかかるのかをまとめたサイトがあったので興味のある方はご覧になってみてください。