ブロックチェーン

51%攻撃ってなに?仕組みと何が出来るかについてわかりやすく説明しようと思う

こんにちは。

最近ありがたいことに仮想通貨に関するライティングのお仕事をいただいているので、仮想通貨に関するニュースをよくチェックしている僕です。

仮想通貨のニュースを見ていると、セキュリティやサイバー攻撃の話は本当によく出てきます。

その中で最近よく目にするのが「51%攻撃」というワードです。

この51%攻撃により、仮想通貨のVergeやモナコインなどのアルトコインが被害を受けています。現時点で最も被害総額が大きいのが、ビットコインゴールドの約20億円です。

果たして51%攻撃とはどういうものなのでしょうか?私たちの資産を脅かすものなのでしょうか?

今回は、51%攻撃の仕組みと何が出来るのかについて、出来るだけわかりやすく説明していきます。

この記事の要約
  • 51%攻撃ってなに?仕組みをわかりやすく説明
  • 51%攻撃で投資家にどんなデメリットがあるの?

51%攻撃ってなに?

51%攻撃とは、マイニングの計算能力の過半数以上を悪意あるグループが有し、不正な取引を公正な取引に変えてしまう取引です。

少し注釈を加えていきます。

マイニングの基礎知識

すでにマイニングについてご存知の方は読み飛ばしていただいて構いません。

ビットコインをはじめとした仮想通貨は、新しく通貨を流通させるにあたってマイニング(採掘)という作業が必要不可欠になります。

このマイニングには取引の承認なども含まれており、取引履歴の一つ一つをブロックと呼びます。

マイニングを行うマイナーは、マイニングが成功しブロックが生成されると、報酬として新しいビットコインを受け取ることができます。

このブロックを繋げたものをブロックチェーンと呼びます。つまりここでいうブロックチェーンは、ビットコインの「取引履歴」の一つ一つを繋げたものだと思ってください。

マイニングはブロックチェーンの根幹をなす重要な作業なので、膨大な演算能力を必要としてます。

現在も多くの企業や団体が、莫大な演算能力を持つコンピュータでマイニングを行なっています。日本企業ではDMMが大規模なマイニングファームを持っていることで有名です。

そしてこのブロックの取引情報が本当に正しいのかを承認するのに、ネットワーク参加者、つまりマイニング能力全体の過半数が必要になります。

ビットコインゴールドで起きた51%攻撃を説明

では、もし仮にマイニング能力全体の過半数の演算能力を持ったマイナーが、悪意を持って不正な取引が含まれたブロックを繋いでいったらどうなるのでしょう。

被害総額が一番大きい、ビットコインゴールド(BTG)という仮想通貨で行われた51%攻撃を例に説明していきます。

ビットコインゴールドでは、悪意を持ったマイナー(攻撃者)は、当初通常のマイナーと変わらずにマイニングを行なっていました。

そして、ある時点で交換所Aに多額のBTGを預け入れました。

この取引はマイナー同士で共有できるブロックに公開されます。つまり攻撃者が「取引所AにBTGを預け入れた」という記録が残ります。

しかし、攻撃者は自分が生成したブロックには「嘘の取引」を書き込んでいました。「BTGを別口座に送金した」という内容です。

この時点で、攻撃者が「取引所AにBTGを預け入れた」というブロックAと「BTGを別口座Bに送金した」というブロックBの二つが生成されることになります。

ブロックチェーンでは複数のブロックチェーンが存在する場合、ブロック数が多く、チェーンが一番長いものが正しい取引として承認されるという特性があります。

今回の場合、「取引所AにBTGを預け入れた」という取引記録が残るブロックAが先に承認されました。その瞬間、攻撃者は取引所AからBTGを引き出しビットコインに交換しました。

一方で「BTGを別口座Bに送金した」というブロックBも生成し続けました。

そしてブロックAが承認されたタイミングで、ブロックBのマイニング速度を急速に上げ、大量のハッシュパワーをもって、ブロックAより長いブロックチェーンを作り上げたのです。

これにより、ブロックAよりブロックBの方が正当なブロックチェーンとして見なされることになります。

するとブロックAの「取引所AにBTGを預け入れた」という結果のみが捻じ曲げられ、取引所AにBTGが送られるという状況と、別口座BにもBTGが送られるという状況の二重支払いが発生することになります。

結果、攻撃者は二重支払いによって多額のBTGを手にすることが出来るという仕組みです。

51%攻撃が行われたタイミングは、ブロックBを作ったタイミングと、ブロックAが承認されて、ブロックBのマイニングを加速させたタイミングです。

これが行えるのは、そもそもコミュニティ全体の演算能力の51%以上を占めている状態である必要があります。

つまり悪意あるマイナーがコミュニティ全体の演算能力の51%以上を占有していて、ブロック生成のタイミングで嘘の取引情報を書き込んだ場合、それを間違いと認識することが出来なくなるのです。

51%攻撃の難易度

51%攻撃を行うには、コミュニティ全体の演算能力の51%を有していないといけない、という訳ではありません。

通貨によっては51%以上でもコントロールできなかったり、逆に51%以下でもコントロールできる場合もあります。

しかしこの51%攻撃は現実的ではないので起こらないだろうと言われてきました。

なぜならビットコインやイーサリアムなどの主要通貨で51%攻撃を行おうとすると、天文学的な演算能力と資金力が必要になるからです。

ただ、現在ではアルトコインが大量に出てきており、こういった通貨であればビットコイン・イーサリアムなどに比べてコントロールしやすい、ということで51%攻撃の標的にされているようです。

なお、51%攻撃を行うにはどれくらいのコストを払う必要があるのかを確かめる51Cryptoというサイトがあるので、51%攻撃耐性を見たい場合はこちらを参照にするといいでしょう。

個人で51%攻撃を行うのは、資金と技術面からほぼ不可能であると言われています。ただ裏を返すと、資金と技術力があれば誰でも51%攻撃ができるようになってしまうということです。

これでは信頼で成り立っているブロックチェーンの根底が崩れてしまいます。

なので仮想通貨の開発者たちは、承認に必要となるブロック数を増やしたりすることで現在対策を行なっています。

51%攻撃による私たちへの影響

では、51%攻撃が起こることで、私たちの資産にどのような影響を及ぼすのでしょうか。

まず51%攻撃で出来ることと出来ないことを改めておさらいしていきます。

51%攻撃でできること
  • 取引の二重支払い
  • マイニングの独占
  • 取引承認の妨害

51%攻撃でできないこと
  • 過去の取引を無効にする
  • 他人の仮想通貨を盗難する

51%攻撃で出来ることというのは、あくまで仮想通貨コミュニティのコントロールを占めるということに他なりません。

他人の仮想通貨を盗難する、といったハッキングのようなものではありません。ですが、51%攻撃が起こったとされると、その仮想通貨の信用が下がるので、価格は下落します。

実際にビットコインも、マイニングの占有率が一部のコミュニティにより過半数を超えそうになったことがありました。その際も51%攻撃が起こるのではないかと懸念され価格が下落した過去があります。

なので、あなたの持っている仮想通貨が51%攻撃を受けると、価格が下落する可能性があります。

先ほどの51Cryptoで51%攻撃の危険性があるかどうか、改めて確認しておくといいかもしれません。

まとめ

いかがでしたでしょうか。

51%攻撃は少し前まで不可能な技術などと言われてきましたが、もう実際に被害が出ている問題になっています。

残念なのは、私たちのような一般の投資家では防ぐすべがない、ということです。自分が買おうとしている、あるいは持っている仮想通貨が51%攻撃の耐性があるか否かを確認しておく時代が来るかもしれませんね。

最近では、コインマイナーという、他人のコンピュータ処理能力を使ってマイニングを行う手段というのも出てきています。

これにより、仮想通貨ごとの占有率というのも変わって来るかもしれません。今後もマイニング技術や51%攻撃については注目していきたいと思います。