イラスト解説付き! 初心者でもわかる51%攻撃の仕組みと対策方法

仮想通貨を始めたいのに仕組みに不安があり、なかなか踏み込めない方もいるのでは?「信頼できるシステムなら始めたい」と思っていても、“51%攻撃” なんて物騒なワードを目にすると心配になりますよね。

この記事では、51%攻撃の仕組みや対策を初心者でもわかりやすいようにイラスト付きで解説。読み終わったころには、アナタの不安が和らいでいるかもしれません。ぜひ参考にしてください。

1. 51%攻撃とは

hashratedistribution

51%攻撃とは、悪意あるマイナー(※1)がネットワーク全体の半数以上の計算量を占め、不正な取引を行うこと。「51%攻撃」や「51%アタック」と呼ばれますが、正確には50%以上であればシステムに攻撃を仕掛けられるといわれています。

ざっくり説明すると、仮想通貨の取引を記録しているブロックチェーン上で、パワープレイによって不正な承認を正当化したり、正当な取引をわざと承認しなかったりする不正行為です。マイナーの勢力図が1つのグループ、または個人が50%以上を占めると、51%攻撃を仕掛けられる状態といえます。

世界には、個人、企業、マイニングプール(※2)に参加というように、さまざまな形でマイニングを行っている人がいます。その勢力図がひと目でわかるのが「ハッシュレート分布」という円グラフ。

現在のハッシュレート分布は以下のホームページで確認できるので、興味がある方はチェックしてみてください。

Blockchainのビットコインハッシュレート分布

※1:仮想通貨取引の承認作業(マイニング)を行う人のこと。
※2:マイナーたちで組まれたマイニングを行うグループのこと。

1-1. 51%攻撃の仕組み

51%攻撃の仕組みを理解するためには、ブロックチェーンのシステムについても触れたほうがよいでしょう。

blockchainrule

仮想通貨取引の履歴を記録するブロックチェーン。世界中にいる不特定多数のマイナーによって、仮想通貨取引の承認作業が行われています。承認作業が一番速くできたマイナーにのみ報酬のコインが支払われるので、スピード競争をしているイメージです。

ブロックは通常は1ブロックに対し1つのブロックがつながります。しかし多くの人がマイニングを行っているため、1ブロックに対し2つ以上のブロックがつながるケースも。このような時はどちらか1つのブロックだけが有効とみなされ、そのほかのブロックは無効になる仕組みです。

有効or無効を決めるルールは、“後につながるブロック数が多いほうを採用する” というもの。無効になったブロックには、マイニング報酬が支払われません。そのため時間が経つにつれブロックの数が少ないチェーンからマイナーたちが離れていき、正当とみなされたブロックだけが残ります。

51percentattack

さて、もしここで悪意のあるマイナー集団が全体の半数以上を占めていたら、どのようなことが起こせるでしょう。

不正なブロックでわざと分岐を起こし、談合によって決められたブロックを承認していけば、正当なブロックよりも長くできるでしょう。そうなればシステムは長いほうを正当と判断するので、不正な取引が成立してしまいます。

このような行為を51%攻撃と呼び、成功すれば取引記録の操作ができるようになるのです。

2. 攻撃者ができること・できないこと

50%以上の計算力を持ちマイニング界を制したとしても、できること・できないことがあります。

2-1. 二重支払いやマイニング報酬の独占ができる

51%攻撃が成功すれば、

  • 二重支払い
  • マイニング報酬の独占

といった不正行為ができるといわれています。

● 二重支払い

doublepayment

二重支払いとは、ひとつのコインを使って異なる相手に支払いを済ませる不正行為。

たとえばAさんとBさんが、1BTCと商品を交換する取引を行ったとします(上のイラスト参照)。AさんはBさんに1BTCを送金し(①)、1つ承認をもらったあとに商品を受け取りました(②)。その後51%攻撃を仕掛け、先ほど1承認もらった取引記録を無効にします(③)。Aさんは同じコインを使って、Cさんとも取引ができます(④~⑤)。Aさんは実際1BTCしか支払っていないのに、その価値がある商品を2つ手にすることができるのです。

このように承認を不正に無効にすることで、ひとつのコインを使って二重で支払いができます。電子系決済システムには二重支払いができない仕組みが必ずありますが、51%攻撃が成功すれば可能になるという見解です。

● マイニング報酬の独占

次に、マイニング報酬の独占について説明しましょう。これは自分たちのブロックチェーンのみが正当と判断されるように不正し、マイニング報酬を独占する行為。

ブロックが分岐された時、半数以上のパワーで特定のブロックのみのマイニングを進めれば、スピード競争で少数派に勝つ可能性が上がります。すると、結託した人だけが報酬を獲得。八百長のようにマイニング報酬を意図的にもらえるというわけです。

仮想通貨は不特定多数の目によって監視されており、このような不正行為ができません。しかし1つの企業やマイニングプールの計算力が50%以上に偏れば、不正を働ける事態になるといわれています。

2-2. 過去の記録改ざんや他人のウォレット操作はできない

一方51%攻撃を仕掛けても、できないこともあります。

  • 過去に行われた取引記録の改ざん
  • 他人のウォレットからコインを抜き出す

過去に行われた取引記録を改ざんするには、マイニング参加者のコンピュータに保存されたデータをすべて書き換えなければなりません。世界中にいるマイナーの数は計り知れませんが、相当な人数であることは確か。

世界中にある相当数のコンピュータにハッキングし、データの書き換えを行うには膨大な時間が必要。作業を行っている間にも新しいブロックが次々とできていきます。想定できる最速のスピードでハッキングを仕掛けても終わらないでしょう。そのため過去の取引記録の改ざんは現実的ではなく、不可能といわれています。

また他人のウォレットからコインを抜き出すには「秘密鍵」といわれるコードが必要です。マイニング界を制覇しても、その情報をつかむことはできません。つまり51%攻撃が実際に起きたとしても、アナタのウォレットに影響はないということです。

3. 攻撃を仕掛ける側にあるリスク

mining

51%攻撃を仕掛ける側にはリスクがあります。このリスクがあることによって、実際に51%攻撃を仕掛ける人はいないと予想されているとか。

そのリスクとは一体……?

3-1. 価格が暴落してコストに合った利益が期待できない

マイニングには、

  • 高性能な計算力を持ったコンピュータ
  • コンピュータから発生する熱を冷却する設備
  • 機器を置く十分なスペース
  • 電気代

といったコストがかかります。全体の50%以上の計算力を持つには、相当な額になるはず。

しかし51%攻撃が起こり得る状態になると、コインの価格が暴落すると予想されます。なぜなら仮想通貨システムの信頼性が失われるから。誰かの意図によって承認・非承認が決められる通貨なんて信用できませんよね。

信頼性が失われた通貨を欲しがる人はいるでしょうか?きっとコインを持っている人が一斉に売りに出し、価格は大暴落。通貨としての価値はなくなるでしょう。

多額のコストをかけて得られるものが、価値のなくなった通貨と、その通貨の取引記録を操れる力だけ。51%攻撃はコストを回収できる見込みもなければ、利益を生み出す可能性もごくわずかです。

このように理論上起こせる可能性がありますが、実際に攻撃を仕掛ける人は現れないといわれています。

4. 過去に51%攻撃を仕掛けられる状態になりかけた

2013年12月、マイニングの計算力が「Ghash.io」というマイニングプールに偏り、50%を超えそうになりました。その時51%攻撃ができる状態になると話題になり、ビットコインの価格が大幅に値下がり。

コイン価格の値下がりは、マイナーにとっても損でしかありません。Ghash.ioに参加していたマイナーたちは、ほかのマイニングプールへ移動し50%以上になることを回避したのです。

こうした歴史から見ても、

  • マイニング界を1つの勢力が占めそうになるとコインの価格が下がる
  • マイナーはコインの価格が下がると利益が減るため、半数を超えないように意識している

ということがわかります。

マイナー同士が力の偏りを警戒しているので、51%攻撃が起こる可能性は限りなく低いといえるのではないでしょうか。

5. 51%攻撃の対策とは?

helmetwomen

51%攻撃を起こせる状態は、マイナーによって決まるようなもの。「個人単位では防げない」という声もあります。では一般ユーザーは51%攻撃が仕掛けられないように祈るしかないのでしょうか?

安心してください。個人で取れる対策はあります。完全に防げるわけではありませんが、被害に遭いづらくなる対策方法といえるでしょう。特に仮想通貨ビギナーの方は要チェックです!

5-1. 取引量が多いコインは安全

取引量が多いコインは、それだけたくさんのマイナーがマイニングを行っています。反対にマイニングの参加者が少ないコインは、比較的簡単に50%以上の計算量を占められそうです。

ということは、取引量の多いコインのほうが51%攻撃の危険性が少ないということ。少しでも安心して仮想通貨を始めたい人は、取引量を参考に購入コインを決めてみてはいかがでしょうか?

2018年5月18日現在、CoinGeckoのチャートでトータルスコアが50位以内にあり、金融庁に登録済みの仮想通貨取引所で売買できるコインを紹介します。これらは時価総額や流動性が高いコインなので、取引量も多いと予想されるコインです。

  • Bitcoin/ビットコイン(BTC
  • Ethereum/イーサリアム(ETH
  • XRP/エックスアールピー、もしくはザープ(通称:リップル)(XRP)
  • Litecoin/ライトコイン(LTC
  • Bitcoin Cash/ビットコインキャッシュ(BCH
  • Ethereum Classic/イーサリアムクラシック(ETC)
  • Lisk/リスク(LSK)
  • NEM/ネム(XEM)

BitcoinEthereumRippleLitecoinは上位常連のコイン。金融庁に登録済の取引所で扱われているコインなので、購入も安全に行えるでしょう。

5-2. 承認を待ってから商品を渡す

transaction

51%攻撃では二重支払いの被害に遭う可能性があります。アナタが商品を提供する側の時は、相手からの送金が承認されるのを確認してからモノを渡しましょう。

たとえばビットコインの場合6回の承認(通称:6認証)が済めば、あとから送金がキャンセルになることはほぼありません。6認証が済むには約1時間かかりますが、確実にコインを受け取れる方法といえるでしょう。

● ビックカメラは0認証

ビックカメラではbitFlyerが提供する法人向けのビットコイン決済導入サービス「bitWire SHOP」を利用しています。会計の際は0認証で送金完了とみなし、ビットコインと商品を同時に交換。当初は1会計につき100,000円までの上限を設けていましたが、現在は300,000円まで引き上げています。

送金が認証されなかった時の負担は、ビックカメラかbitFlyerのどちらかが負っているのでしょう。このようなシステムを導入する時は、サービスを提供している企業の規約を理解し、あらかじめどちらがリスクを背負うか明確にしておく必要があります。

時間をかけて確実に入金される方法をとるか、スピーディな会計をとるかはアナタ次第。いくら51%攻撃が起こる可能性が低いといっても、ビットコイン決済を取り入れる際は被害に遭うケースも想定しておきましょう。

まとめ

51%攻撃について紹介してきました。

  • 51%攻撃とは仮想通貨のマイニングで50%以上の計算量を占め、ブロックチェーンが分岐した時に自分に有利になるよう意図的に取引を承認、または非承認にする行為
  • 二重支払いやマイニング報酬の独占ができるが、過去の記録改ざんや他人のウォレット操作はできない
  • 攻撃を仕掛ける側にもリスクがあるので、実際に起きる可能性は低い
  • 過去に起きそうになった時は、マイナーたちによって危険が回避された
  • 取引量の多いコインは51%攻撃を起こしづらい
  • 6認証を待てば不正に送金をキャンセルさせることがほぼ不可能

ビットコインをはじめとする仮想通貨には、理論上は51%攻撃を仕掛けられる可能性があるといわれています。しかし、これまでネットワークにさまざまな攻撃を仕掛けられても成功したケースはありません。それほど仮想通貨のシステムは信頼できる頑丈な仕組みということ。

51%攻撃が実際に起こる可能性は、限りなく低いと考えてよいでしょう。