
こんにちは、yoshihiroです。ちょっと山籠もりしてて更新が遅れてしまいすみません、、。
短期集中ブロックチェーン講座(全然短期じゃなくなりましたが)も、あと2回になりました。今日はブロックチェーンの課題の1つ、51%攻撃について解説したいと思います。
つい最近もビットコインゴールドやモナコインなどが51%攻撃を受けた、という報道がありましたね。この51%攻撃が具体的にどういう攻撃なのか、解説していきたいと思います。
最初から読む >> Part 0:導入
前回の記事 >> ブロックチェーンはどうやって嘘の情報を排除しているのか
まずは51%攻撃がどんなものなのかを簡潔に説明して、実際に起きたビットコインゴールドとモナコインの事例を見ていきましょう。
PoWが採用されているブロックチェーンでは、マイニング参加者のコンピュータリソースに大きな差がなく、ブロック生成の権利が分散されるという前提の上で成り立っています。
しかし、もし特定の人(企業)だけが膨大なコンピュータリソースを持っていると、その人がマイニングを独占して行うことができるようになり、不正なブロックを生成したりできるようになってしまいます。
マイニングに使われるコンピュータリソース全体の51%(半分以上)を持っていると、ブロック生成を自由に操れるようになると言われているため、51%攻撃と呼ばれています。
51%攻撃では、以下のようなことができるようになります。
・二重支払い:例えば1BTCしか持っていないのに、ウォレットAとウォレットBの両方に1BTCずつ送金したことにできます
・新たな取引承認の妨害:他の人の送金を承認しないことで、資産を逃がさせたりしないようにすることができます
・マイニング報酬の独占:自分だけがマイニングをするので、マイニングによる報酬はすべて自分が得ることができます
一方で、51%攻撃だけでは以下のようなことはできません。
・他人のウォレットの操作:シークレットキーを盗めない限り、他人のウォレットから送金することは不可能です
・仮想通貨を好きなように発行する:ブロック生成による報酬以外で自由に仮想通貨を作り出すことはできません
・過去の取引を改ざん:過去の履歴を自分の都合の良いように変えることはできません
では実際に起きた51%攻撃の事例を見てみましょう。
2018年5月16日ごろにビットコインゴールド(BTG)が51%攻撃の標的となり、取引所から当時の価格で約20億円が不正に出金されました。これは典型的な51%攻撃の方法である、2重支払いにより行われました。
方法はこうです。
まず、自分のウォレットから取引所へBTGを送金します。そして送金が反映されたらすぐに、そのBTGを自分のウォレットへ送金し直します。
しかし犯人は、最初の取引所への送金を51%攻撃によりブロックを不正に書き換えたのです。取引所に送金されたはずのBTGは、犯人の別のウォレットに送金されたことになっているのです。
結果、取引所は犯人からBTGを受け取っていないのに口座へ反映させてしまい、その口座から犯人のウォレットへBTGを送金したことになってしまったのです。
2018年5月15日ごろに、Livecoin取引所という仮想通貨取引所で、モナコインが当時の価格で約1,000万円不正に出金されるという事件が起きました。
これは厳密にいうと51%攻撃ではないそうなのですが、ここで紹介します。
ブロックチェーンには
「枝分かるすることもあり得るが、その場合にはより長い方が採用される」
という決まりがあります。これが利用されたのが、モナコインの事件です。
犯人はまず、取引所に大量のモナコインを送金し、すぐに出金しました。これらの処理は、ブロックチェーンに通常通り記載されます。
しかし犯人は非常に大きなハッシュパワーを持っていて、独自にブロックを作成し続け、それを隠し持っていました。そのブロックには、取引所にモナコインを送金したという記録は残っていません。
そして、取引所からの出金が確認された段階で隠し持っていたブロックを一斉に公開したのです。すると、今までのブロックより、隠し持っていたブロックの方が長いため、そちらが採用され今までの正しい方は棄却されてしまいます。
結果、取引所が犯人へモナコインを送金したという記録だけが残り、犯人は1,000万円分のモナコインを手にしたというわけです。
このような攻撃が起きるようになったのは、特定の企業が膨大なハッシュパワーを持つようになってしまったからです。
例えば、モナコインのマイニングに使われているハッシュパワーは、ビットコインの約100分の1です。ハッシュを計算するアルゴリズムが異なるので単純な話ではないのですが、ビットコインのハッシュパワーの1%を持っている企業がモナコインのマイニングに参加したら、簡単に51%以上の影響力を持つことができるようになってしまうのです。
51%攻撃を行う費用と得られる利益の関係から頻発はしていませんが、PoWを採用しているハッシュパワーの小さい通貨は、常に51%攻撃の危機にさらされていると言ってもよいでしょう。
現状では、取引所での入金に関する承認ブロック数を増やすなどしか有効な対策はありません。そのため、PoW以外のコンセンサスアルゴリズム、例えばPoSなどに移行しようとする動きが広まっています。
ということで、Part 6はここまでです。
次回はいよいよ最終回ですね。ブロックチェーンはどんな目的で開発されたのか、サトシナカモトが目指した世界とはどのようなものなのかについて解説します。
↓この記事を書いた人↓