51%攻撃とは?仕組み・危険性・対策・実例をわかりやすく解説
「51%攻撃は不正な取引で危険らしい」
こんなことが言われていますし、ビットコインについて調べるとこの単語をよく目にしますよね。
とはいえ、
「51%攻撃って一体何?」「51%攻撃が何で危険なの?」
という疑問をお持ちではありませんか?
そこでこの記事では51%攻撃とは一体何なのか解説していきます。
3分くらいで読めますし、51%攻撃とは何なのかスッキリ理解できること間違い無いので、まずはご一読を!
- 51%攻撃とは、悪意ある人物が力技で正しくないチェーンを繋げていく行為
- 取引承認権の独占や二重支払いの危険がある
- ただし、そもそも51%攻撃は起こりにくい
- 攻撃されなくても、“される可能性がある”というのが問題
51%攻撃とは
51%攻撃とは、悪意ある集団や個人がブロックチェーン上での取引承認権を独占して、不正な取引の承認などを行う行為のことです。
特定の団体や個人が、マイニングでの計算力(=ハッシュレート)の50%以上を持ったときに発生するため「51%攻撃」と呼ばれています。
「ブロックチェーンってそもそも何だっけ?」という方はこちらの記事を参考にしてみてください。
51%攻撃の仕組み
51%攻撃はブロックチェーン技術の仕組みを逆手にとった手法です。
ブロックチェーンでは、たくさんの取引履歴(トランザクション)を一つのブロックにまとめて保存をし、また次のブロックを作っていく、、、そして隣にあるブロック同士が連なっていくように並んで保存されていく、という仕組みになっています。
この一つにまとまった取引履歴が、本当に正しいものなのかを検証していく承認作業がマイニングです。
マイニングでは、チェーンの利用者が膨大な計算問題を解くことで正しい履歴かどうかを判断できるようになっていて、この仕組みをPoW(プルーフオブワーク)=仕事量による証明、と言います。
ブロックチェーンには、マイニングを一番早く完了させたマイナーが新たなブロックを繋げることができる、という絶対に変えることのできないルールがあります。
そして、もし複数のチェーンが発生した場合は、より長く続いた方のチェーンを正しいものとする、となっているのです。
51%攻撃はまさにこの仕組みを利用した行為です。
本来正しいブロックのチェーンが伸びていくはずのところを、悪意ある何者かがハッシュレート全体の50%以上の力を持つことで正しくないブロックにチェーンを繋げていく、これこそが51%攻撃の正体です。
51%攻撃の危険性
- 取引の承認権の独占
- 二重支払いが可能になる
51%攻撃による危険性①取引の承認権の独占
51%攻撃を行うと毎回ブロックの承認ができるので、マイニング報酬を独占できてしまうのは事実ですがそこはあまり問題ではありません。
問題なのは、取引の承認権が独占されてしまうため、正しい取引の否認や不正な取引の承認ができてしまうことです。
正しい取引が承認されない場合、例えば、お店で客がビットコインでの支払いを行った時に、承認されるはずの取引が51%攻撃のせいで取り消されてしまって、お店側が損害を被ることになります。
つまり、51%攻撃は決して人ごとではないのです。
51%攻撃による危険性②二重支払いが可能になる
二重支払いとは、一度使ったお金をもう一度使ったことにすることを指します。
暗号資産(仮想通貨)で言えば、一度送金した暗号資産(仮想通貨)をもう一度別のアドレスに送金することが二重支払いに該当します。
通常、ブロックチェーンにおいて二重支払いが行われた場合は、より早く行われた方の取引を採用して、あとに行われた取引は不正な取引として無効になります。
しかし、51%攻撃が行われると、あとに行われた取引の方を承認することによって二重支払いを可能にしてしまいます。
二重支払いが頻繁に行われていたら、通貨の信用はなくなってしまいますよね。
51%攻撃で起きないこと
51%攻撃ではネットワークをすべて掌握できるわけではありません。
多くの人が勘違いしやすい、51%攻撃ではできないことを説明していきます。
- 過去の取引の改ざん
- 他人のウォレットからの盗難
- 発行上限の変更
51%攻撃では起きないこと①過去の取引の改ざん
51%攻撃ではできないこと1つ目は、過去の取引の改ざんです。
ブロックチェーンにおけるブロックを繋ぐという作業は、そのブロックに対応する特別な値(ナンス)を探すことですが、昔の取引を改ざんしてしまうとそのブロック以降のブロックに保管されたナンスが不適当な値になるということが起こります。
つまり、改ざんを行うとブロックが正常に繋がれていない状態となります。
ブロックチェーンは最も長いチェーンが正しいチェーンだというルールがありますから、改ざんした人が自分の持つ短くなったブロックチェーンを正しいと言い張っても認められることはありません。
ゆえに、たとえ51%攻撃ができたとしても昔の取引の改ざんは不可能なわけです。
51%攻撃では起きないこと②他人のウォレットからの盗難
51%攻撃ではできないこと2つ目は、他人のウォレットからの盗難です。
51%攻撃はあくまで取引の承認権の独占であって、取引そのものを操作できるわけではありません。
暗号資産(仮想通貨)の取引には電子署名という暗号技術が使われているので、取引の承認をコントロールできても、秘密鍵(=ウォレットの暗証番号のようなもの)を知らなければ人の取引を勝手に作り出すことは不可能です。
暗号資産(仮想通貨)においてお金の盗難というのは、人のウォレットから自分のウォレットに送金するという取引を勝手に作り出すことであるので、51%攻撃ができたとしてもお金を盗まれるということは絶対に起こらないわけです。
お金の盗難という面では秘密鍵が外部に漏れないということがとにかく大事なわけです。
51%攻撃では起きないこと③発行上限の変更
51%攻撃ではできないこと3つ目は、勝手に通貨を発行することです。
確かにマイニング報酬の独占は可能です。
しかし、マイニングによってしか暗号資産(仮想通貨)が新規発行されないという仕組みは変えることができません。
そのアルゴリズムとは別の手段で、自分で勝手に通貨を発行して発行上限を操作することはできないわけです。
つまり、自分が1BTC持っているとしたら、それは発行上限である2100万BTCのうちの1BTCであるという事実は決して変わりません。
51%攻撃の対策
51%攻撃の対策①今のところ対策は存在しない
51%攻撃の対策は今のところ存在しません。
ビットコインの場合で言えば、マイニングのハッシュレートの分布から分かるように、上位4つのマイニングプールが協力すると51%攻撃可能な状態となっています。(2020年11月時点)
(ビットコインのハッシュレートはこちらから確認することができます。)
実際に51%攻撃が行われた際には、その暗号資産(仮想通貨)のプロトコルを変更することによって止めることが可能ですが、事前に防ぐことはできません。
しかし、暗号資産(仮想通貨)は51%攻撃されてしまうかもしれないから危険だ、というのは間違いです。
51%攻撃の対策②そもそも51%攻撃は起こりにくい
そもそも51%攻撃は起こりづらいです。
これはどうしてでしょうか。
まず、51%攻撃を行うには莫大な資産が必要です。
PoW(プルーフオブワーク)では高性能なコンピューターがたくさん必要ですし、PoS(プルーフオブステーク)というもう一つの代表的な承認システムでも攻撃したい暗号資産(仮想通貨)の過半数を保有しなければなりません。
どちらにせよ凄まじいコストがかかるのです。
そして、51%攻撃を行うことによって攻撃者が得られる利益はほとんどなく、むしろ大きな損失を被ります。
51%攻撃の対策③51%攻撃をするメリットがほぼない
51%攻撃をするメリットはほとんどありません。
51%攻撃が行われると先ほど述べたような危険性があるため、その暗号資産(仮想通貨)の価値は暴落します。
すると、マイニング報酬を独占できる状態にあるのに、その報酬がほとんど無価値なものになってしまうわけです。
特に、プルーフオブステークの場合は、過半数の暗号資産(仮想通貨)を保有しているわけで、その通貨が無価値になってしまうことは大きな痛手です。
ゆえに、攻撃者にとってのメリットがほとんどないので51%攻撃は起こりにくいです。
51%攻撃を行ってメリットがある人は攻撃された通貨と類似した通貨の開発者くらいでしょう。
同じような通貨の信頼性が下がれば自分の通貨に流入してくる可能性が高いですからね。
51%攻撃の実例
- Verge(バージ)
- モナコイン
- ビットコインゴールド
- イーサリアムクラシック
- ビットコインキャッシュ
51%攻撃の実例①被害額は3億円以上!?:Verge(バージ)
暗号資産(仮想通貨)Verge(バージ)は、2018年に二度も51%攻撃の被害に合ったことがあります。
一度目の攻撃は同年4月に行われ、約1億2,000万円相当のVerge(XVG)が不正入手されました。
その後、開発チームが緊急措置としてハードフォークを行いVergeのバグを修正しましたが、結論から言うと、この修正が完全ではなかったため二ヶ月も経たないうちに二度目の攻撃を受けてしまうことになったのです。
二度目の攻撃では3,500万XVG=約2億円相当が被害に合いました。
51%攻撃の実例②日本発のコインも被害に:モナコイン
モナコインでは、2018年の5月13〜15日に51%攻撃による二重送金が確認されています。
被害額は約1,000万円です。
モナコインは、ビットコインなどの人気通貨と比べるとマイナーの競合が少ないため、比較的簡単に50%以上のハッシュレートを独占できてしまう、という問題を突かれてしまったのです。
51%攻撃の実例③2020年にも被害が!?:ビットコインゴールド
一度目の攻撃:被害額約20億円
ビットコインゴールドへの51%攻撃は2018年の5月16〜19日にかけて確認されています。
もうお気づきの方もいるかと思いますが、Verge、モナコイン、そしてビットコインゴールドが51%攻撃を受けたのはほとんど同じ時期なんです!
真相は定かではありませんが、とても偶然とは思えませんよね。
当時はこれについて多くの専門家が議論を繰り広げましたが、結果的には、51%攻撃を事前に回避することはできない、ただブロックチェーンが改ざんされたわけではない、というのが再認識されただけでした。
二度目の被害:2020年に数回の被害
2020年の1月〜3月にかけて数回に渡って51%攻撃を受けてしまいました。
被害額は数千万円にのぼると見られています。
3月上旬に受けた攻撃に対して反撃に成功したとの報道がありましたが、反撃するために必要なコストはかなり膨大なはずです。
2年という月日が経った今再び攻撃を許してしまったということは、その間に流動性がそこまで増えなかったということです。
全体の流動性が高まれば51%攻撃のリスクは減らすことができますが、現状だとビットコインゴールドがこの先ブロックチェーンシステムとして活躍していくのは非常にハードルが高いのではないでしょうか。
51%攻撃の実例④ホワイトハッカーによる脆弱性の知らせか:イーサリアムクラシック
イーサリアムから分裂した暗号資産(仮想通貨)として知られるイーサリアムクラシックですが、2019年1月に51%攻撃の被害に合っています。
しかし事件からたった数日後に攻撃者から、被害に合った一部のETCが返還されました。
これを受けて、今回攻撃してきたのは金銭目的のハッカーではなく、いわゆるホワイトハッカーがイーサリアムクラシックのシステムに存在する脆弱性を知らせようとしたのでは、という見解が広がりました。
51%攻撃の実例⑤不正取引を取り消すための反撃:ビットコインキャッシュ
2019年5月、ビットコインキャッシュのブロックチェーンで51%攻撃が発生しました。
しかしこれは悪質なものではなく、多くの人が知らぬ間にチェーンの脆弱性を突いて作成されていた不正取引を、一部の大手マイナーが51攻撃によって取り消していた、というものでした。
そのおかげで不正取引による被害はなくて済みましたが、同時に、ビットコインキャッシュが”非中央集権的なシステムではない”ということを証明してしまう結果ともなりました。
51%攻撃に関するQ&A
- 51%攻撃とは何ですか?
-
悪意ある人物が力技で正しくないチェーンを繋げていく行為です。
特定の団体や個人が、マイニングでの計算力(=ハッシュレート)の50%以上を持ったときに発生するため「51%攻撃」と呼ばれています。
- 51%攻撃の危険性は?
-
- 取引所の承認権の独占
- 二重支払いが可能になる
などの危険性があります。
51%攻撃 まとめ
- 51%攻撃とは、悪意ある人物が力技で正しくないチェーンを繋げていく行為
- 取引承認権の独占や二重支払いの危険がある
- ただし、そもそも51%攻撃は起こりにくい
- 攻撃されなくても、“される可能性がある”というのが問題
51%攻撃とはあくまでブロックチェーンにおける承認権の独占です。
独占以上のことは全くできず、そもそも起こりにくいということが分かったと思います。
しかし、PoWを採用している全てのチェーンでは51%攻撃が起こる可能性がある、ということ自体が問題です。
暗号資産(仮想通貨)・ブロックチェーンが今後の社会で活躍するためには、絶対に解決すべき問題と言えるでしょう。