ビットコインの51%攻撃って何だろう?
ビットコインが乗っ取られたりするのかな…?
「ビットコインは51%攻撃を受けるリスクがある」と指摘する意見がありますが、攻撃を行うコストやリスク、攻撃によってできることを考慮すると、51%攻撃が行われる可能性は極めて小さいと考えられます。
この記事では、ビットコインの51%攻撃や、これまでに他の仮想通貨で起きた実例について、分かりやすく解説するよ。
本記事のざっくりまとめ
- 51%攻撃とは、悪意のあるマイナーがハッシュレート(計算処理能力)の51%を支配し、二重支払いを実行できるようにすること
- ビットコインに51%攻撃を行うには莫大なコストがかかる上に失敗するリスクも高いため、理論上はできても現実的には極めて困難
- 51%攻撃によって二重支払い(直前の取引で送ったコインを再度別のアドレスに送る)は可能だが、過去の取引の改ざん・他人のウォレットからのBTCの勝手な移動・発行上限の変更などはできない
監修者:ごっつ
Diamond Handsコンテンツ担当。
ライトニングネットワークに関するニュースレターを配信。
LNノードsudachi🍋を運用中。
ビットコインの51%攻撃とは?分かりやすく解説
51%攻撃とは、悪意のあるマイナーがハッシュレートの51%を支配し、二重支払いを実行できるようにすることです。
※マイナー…マイニングに参加する人々
※マイニング(採掘)…ネットワーク上で行われる取引を確認してブロックチェーンに正しく書き込み、報酬としてビットコインを得る仕組み
※ハッシュレート…マイニング1秒あたりの計算力・採掘速度
ビットコインには運営元が存在せず、世界中のたくさんのコンピュータが分散してネットワークを保っている新しい仕組みなんだけど、理論上は51%攻撃というリスクもあるんだ。
何だか不穏な名前だけど、どんな仕組みなのか、51%攻撃で何が起こるのかを知っておきたいな。
51%攻撃が起きる仕組み
51%攻撃は、ネットワーク全体の計算能力を過半数のグループ(または個人)が支配することで発生します。
攻撃が起こるとブロックチェーンが分岐し、正当なチェーンと別のチェーンに分かれた状態になります。
攻撃が成功すると、理論上は新しいブロックの生成を支配し、二重支払いを目的としたトランザクション(取引)を承認したり、正当なトランザクションの確認を妨害したりすることが可能です。
ブロックチェーンの仕組みを深掘り
- チェーンが分岐した場合、累積difficultyが多いチェーンを正当なチェーンとする
※累積difficulty(累積難易度)…新しいブロックを生成する際に要求される計算作業の総量 - チェーンが分岐した場合、次のブロック採掘でどのチェーンの後を採掘するかはマイナーが選べる
→攻撃側は攻撃目的のチェーンを採掘し続け、善良なマイナーは正当なチェーンの採掘をし続ける - 攻撃側は正当なチェーンよりも累積difficultyが多いチェーンを作成し続ける必要がある
→最低でも51%以上のハッシュレートを維持する必要があり、莫大なコストがかかる - 攻撃側のハッシュレートが下がり、正当なチェーンの方が累積difficultyが多くなると、攻撃側の偽チェーンは消滅する
もし51%攻撃が起こったとしても、元々の正当なチェーンが攻撃側のチェーンの計算作業の総量を上回れば、正当なチェーンが奪還できるんだね。
攻撃側のチェーンが無効になれば、それまでのブロックも無効になり、攻撃者はマイニング報酬を失うんだ。
とはいえ、51%攻撃が発生してしまったらビットコインの信用が一気に下がってしまうから、51%攻撃はなんとしても防がないといけないね。
関連記事:ビットコインのマイニングとは?現在の報酬や終了時期・やり方や仕組みを紹介
51%攻撃ができること・できないこと
ビットコインへの51%攻撃が発生すると、直近の取引(トランザクション)をなかったことして、別のアドレスに送る「二重支払い」ができてしまいます。
ただし、過去に承認されて組み込まれた取引については、なかったことにすることはできません。
51%攻撃でできること・できないこと
- できる:二重支払いの承認(一度送ったコインを再度別のアドレスに送る)、特定の取引の送金を拒否、マイニング報酬の独占など
- できない:過去の取引の改ざん、他人のウォレットからの勝手な移動、発行上限の変更など
参考:【ビットコイン研究所Q&A】マイニングの集権化、ライトニング決済とAI、Nostrのポテンシャルと課題|ビットコイナー反省会
51%攻撃って聞くと何だか怖そうだけど、ユーザーのビットコインを奪ったり、ビットコインの発行上限を変えたりはできないんだね。
51%攻撃でできることは限られていて、「直近の取引をなかったことにする」ことを悪用した二重支払いが主な攻撃になるんだ。
ビットコインに51%問題は起こるのか
「ビットコインは51%攻撃を受けるリスクがある!」っていう意見を見ることがあって、ちょっと不安…。
結論、ビットコインが51%攻撃を受ける可能性は非常に低いと考えられているよ。
ビットコインへの51%攻撃は非現実的
ビットコインが51%攻撃を受ける可能性は理論上存在しますが、実際には非現実的です。
ビットコインネットワークのハッシュレート(計算能力)は非常に大きく、ネットワークの過半数のハッシュパワーを動かすことは技術的・経済的に困難です。
ビットコインの51%攻撃に必要なコスト
- 攻撃に必要なハッシュレートを1時間借りるのに必要なコストは数億円規模で、攻撃が止まるとネットワークが正常な状態に戻る
→攻撃者によるブロックは無効になるため、ひたすら攻撃を続ける必要がある - 大量のマイニング機器(ASICマイナーなど)が必要
→膨大な数の高性能マシンをそろえるのは極めて困難 - 電力と運用コスト
→巨大なハッシュパワーを維持するために、膨大な電力や冷却システム、保守などの運用コストが必要
51%攻撃を行うには数百~千億ドル必要だと考えている有識者もいるんだね。
中規模の国でいえば1年間の国家予算レベルになるし、確実に成功するかどうかも分からない攻撃を実施するのは現実的ではなさそうだよ。
なお、ビットコインコミュニティやマイナーは常にネットワークを監視していて、異常な動きがあれば迅速に対応すると考えられているよ。
マイニングプールの結託はあり得るのか
「トップのマイニングプールを2つ3つ合わせると51%攻撃を仕掛けられる=ビットコインは集権化している」という意見が時折見られますが、この主張はやや飛躍したものと言えます。
※マイニングプール…小規模のマイナーが協力してマイニングを行い、収益を分け合う仕組み
マイニングプールを選ぶのはマイナー自身です。
仮にマイニングプールが攻撃を引き起こした場合、マイナーは攻撃に加担し続けるか、攻撃をしていないマイニングプールに切り替えるかの選択ができます。
数千以上のマイナーが、参加するプール内で一致団結して意図的に攻撃を行うというのは、実際には現実的ではありません。
51%攻撃をしたら、マイナーが持っているビットコインの価格は暴落するだろうし、すべてのマイナーが攻撃に賛成するとは思えないなぁ…。
それに、マイニングプールが51%攻撃を計画する場合、不正行為に反対するマイナーが情報をリークするだろうし、団結するのは難しそうだよ。
51%攻撃に加担したマイニングプールはマイナーや投資家からの信頼を失うよ。
長期的なビジネスモデルとして収益を得られるマイニングプールが、わざわざ評判を落とす行為をするか?というところだね。
二重支払いをビットコインで行うのは難しい
マイニングプールが結託して二重支払いによる利益を狙うのは、現実的には非常に困難と言えます。
- 取引所から大量のBTCを換金できるか
→51%攻撃を仕掛けて利益を狙う場合、よっぽどの額でないと元が取れない。
大規模な取引は取引所が警戒する可能性があり、迅速な出金ができずに攻撃が失敗する恐れがある - 実行者を信頼できるか
→仮に実行者Aが莫大なビットコインを法定通貨に換金して、その後51%攻撃をした場合、実行者Aは元のビットコイン&換金した通貨の両方を得られる。
だが、実行者Aの得た資金がマイニングプールの協力者に配布されるかどうかはわからず、「実行者Aが持ち逃げしない」という信用が必要
過去に他の仮想通貨で51%攻撃が起きた際、取引所によってはブロック承認数を増やす(決済完了とみなす時間を長くする)という対応を行っているよ。
取引所の警戒度が高まるほど、51%攻撃は失敗する可能性が上がるんだ。
ものすごく大量のBTCを取引所に送金してきたアドレスが、すぐに換金して法定通貨を出金しようとしたら、確かに怪しいよね。
そもそも、莫大な金額を取引所がすぐに対応するのも難しそうだよ。
ブロック報酬を独占するために51%攻撃を行うのは非効率
マイニングによるブロック報酬の独占を狙うために51%攻撃を行うのは、コストやリスクを考えると極めて非効率です。
仮に攻撃者がブロック報酬を独占したとしても、その報酬以上に51%攻撃にかかるコストは莫大です。
また、元々のチェーンが攻撃者のチェーンよりも計算作業の総量が多くなった場合、攻撃者のチェーンは無効になり、ブロック報酬も無効になります。
膨大な計算資源を投資したとしても、すべて無駄になるリスクがあるのです。
「マイニング報酬を独占するために51%が行われる可能性がある」って指摘する意見があったけど、実際にはとんでもない資金や計算力が必要だし、現実的ではないんだね。
51%攻撃ができるくらいの計算資源を持っているなら、攻撃などしないで普通にマイニングをする方がよっぽど効率的だよ。
関連記事:【漫画】ビットコインの仕組みを図解で分かりやすく解説【初心者向け】
51%攻撃&BTCショートの不確実性
「ビットコインに対して51%攻撃を行いつつ、同時にショートポジション(下落に賭ける取引)を仕掛ける」という戦略は、理論上は考えられますが実際には現実的ではありません。
- 清算のリスク
→ショートポジションの際に価格が反対方向に動けば大きな損失が出る可能性がある(51%攻撃の元を取るには相当額のショートが必要) - 流動性の問題
→大規模なショートポジションを持つ場合、市場に十分な流動性がないとポジションを閉じる(利益を確定する)際に適切な価格で買い戻せない可能性がある - 法的なリスク
→51%攻撃による市場操作は違法行為にあたる可能性がある(仮にマイニングプールが結託した場合はマイニング事業者が関与していることが明白)
法的なリスクについては前例もないし、どうなるかは分からないけど、市場操作は多くの国で違法行為とされているのは確かだよ。
攻撃に関与した事業者は刑事責任を問われる可能性もあるし、民事訴訟を起こされるかもしれないね。
2022年に起きたTerra(LUNA)とUSTの大暴落事件では、FTXの元CEOが価格操作疑惑で調査を受けているみたいだよ。
市場をクラッシュさせて、ショートで利益を得たとしても、仮想通貨関連の企業・プロジェクトの連鎖破綻が巡り巡って攻撃者に降りかかってくるかもしれないね…。
関連記事:ビットコインの危険性は?ビットコイン自体のリスク・やめたほうがいい投資方法を解説
PoWブロックチェーンへの51%攻撃の実例
仮想通貨で実際に起きている、51%攻撃の実例が知りたいな。
51%攻撃の実例として、モナコイン・イーサリアムクラシック・ビットコインゴールドの事件を紹介するよ。
モナコインへの51%攻撃
2018年、日本発祥のモナコインが51%攻撃を受け、当時レートで約1,000万円相当のモナコインが不正に引き出されました。
攻撃に必要なハッシュレート(計算速度)が膨大なビットコインに対し、モナコインは桁違いに小さなハッシュパワーで攻撃を受けてしまいます。
モナコインへの51%攻撃
- セルフィッシュ・マイニング(利己的なマイニング)
→犯人がマイニングに成功後、ブロックをネットワークに伝えずに隠しておき、隠し持っているチェーンを伸ばしていく。
パブリックなチェーンより長いチェーンになったタイミングでネットワークに送り、犯人のチェーンをパブリックなチェーンに採用させる手法 - 犯人の手口
→犯人はあらかじめ取引所にモナコインを入金して、換金。
その後、隠していたチェーンをネットワークに公開し、取引所に入金・換金したはずのモナコインを送金しなかったことにした。
(攻撃者の手元には送金したはずのモナコインと、取引所から出金したお金が両方残る) - ファイナリティー(決済が確定した状態)
→ビットコインは3~6ブロック(約30~60分)、モナコインは18~24ブロック(約27~36分)承認後にはじめて決済が完了したとみなすことが多い。
仮想通貨取引所は各自、銘柄ごとに承認数を定めているが、被害を受けた取引所は承認数が少なかったためにターゲットになった
承認間隔が短くて、ハッシュレートの小さいモナコインが狙われてしまったんだね…。
モナコインへの51%攻撃を防ぐ対策として、各取引所はブロック承認数を増やす施策を実施しているよ。
なお、2018年の頃はモナコイン専用のASIC(特定の用途のために作られるハードウェア)がなかったんだけど、現在ではASICがあるからハッシュレートが数十倍に上がっているんだ。
6年で40倍以上にハッシュレートが上がっているね!
2018年の頃に比べると、攻撃難易度が格段に上がっているのが分かるよ。
PoWの仮想通貨はそれぞれ51%攻撃の対策に取り組んでいるんだ。
気になる仮想通貨については自分で調べてみてね。
イーサリアムクラシックへの51%攻撃
2020年、過去にイーサリアムがハードフォーク(分岐)したイーサリアムクラシック(ETC)が51%攻撃を受けました。
8月に3回攻撃されており、最初の攻撃では約580万ドル(当時レートで約6億円)相当の二重支払いが行われています。
ハッカーはハッシュレートを購入して攻撃を行っており、51%攻撃にかかったコストは約19万ドルと試算されています。
ハッカーはオフラインで3000ブロック以上をマイニングした後、ネットワークに公開してチェーンを分裂させたんだ。
51%攻撃をしていないチェーンからETCを取引所に入金して、取引所でETCを売った後、自分がマイニングしたチェーンを公開して二重支払いを行ったんだね。
ビットコインゴールドへの51%攻撃
2020年、ビットコインのハードフォークで生まれた「ビットコインゴールド(BTG)」が51%攻撃を受けました。
二重支払いによって、当時レートで約20億円相当の被害が出ています。
22個のブロックに操作が加えられており、ビットコインゴールドの開発者は取引所に対して承認数を50ブロック引き延ばすように要請しました。
2023年12月時点のハッシュレート(計算能力)は、ビットコインが506,264 PH/s(ペタハッシュ/秒)、ビットコインゴールドは2 MH/s(メガハッシュ/秒)となっているよ。
ビットコインとビットコインゴールドは、2500億倍くらいハッシュレートが違うんだね!
ビットコインゴールドって、「ビットコイン」っていう名前がついているから攻撃が難しそう?って思っちゃったけど、想像以上にハッシュレートに差があってびっくりだよ。
関連記事:プルーフオブワークとは?ビットコインのPoWとPoSの違いをわかりやすく解説
PoSブロックチェーンに51%問題はあるのか
PoWに51%問題があるのは分かったけど、PoW以外の他の仮想通貨はどうなんだろう?
性質は異なるけど、アルトコインで主流のPoSにも51%問題(33%問題)が言及されているよ。
PoS(プルーフオブステーク)
- PoSのステーキング
該当のコインを保有してブロックチェーンのネットワークに参加することで、新たに発行されるコインを報酬として得られる。
ステーキングを行うと、ネットワークのガバナンス投票(プロジェクトの方向性・アップデート・ルール変更などの意思決定プロセス)に参加できる - 富の集中
PoSはコインを多く保有するほど利回りのコインを得やすく、コインの大量保有者に富が集中するリスクがある。
ガバナンス投票において、大量保有者が有利になる投票が行われる可能性がある(初期保有者の大口投資家や運営元、ユーザーの資金を大量に管理する仮想通貨取引所などが多く保持) - 理論上攻撃はできるが実際には難しい
PoSネットワークで攻撃を行うには該当のコインを保有する必要があり、攻撃者が攻撃を行うことでトークンの価値が下がるため、攻撃するメリットが少ないと考えられている
票クジラ(トークンの大量保有者)はガバナンス投票に与える影響が大きい
- Solend危機
→SolanaのDeFiで1億700万ドルを借り入れた単独ユーザーの清算危機に対し、Solend Labsに緊急権限を付与するガバナンス投票が行われた(連絡の取れない単独ユーザーの代わりに、Solend Labsがポジションを適切に清算して最悪の事態を防ごうとした)。
票クジラが賛成票に投じたことでガバナンス投票が成立し、可決された(なお、後に単独ユーザーへの連絡が取れたため、清算は一度も行われずに危機を脱している) - Uniswap
→Uniswap V3のBNBチェーン展開を決める投票の際、UNIを大量保有するベンチャーキャピタルa16zが1,500万票の反対票を投じた(票の総数は約8300万票、結果的には66%が賛成して可決)。
a16zが反対したのは、a16zの投資先である「レイヤーゼロ」がブリッジに採用されなかったことに起因すると見られている - Mango
→ハッカーがDeFiトークン「MNGO」を奪い、盗んだトークンを使ってガバナンス投票を操作
ガバナンス投票は、トークンを大量保有している人の意見が通りやすいんだね。
PoWのビットコインは、コインをたくさん持っていてもブロックチェーンのネットワークに影響を与えられるわけではないから、ちょっと性質が違う感じがするよ。
PoSネットワークへの攻撃については、それぞれのプロジェクトによって対策方法が異なると思うから、興味がある場合は個別に調べてみてね。
51%攻撃(33%攻撃)に関する記述がある記事をいくつか紹介するよ。
51%攻撃の対策方法
51%攻撃への対策方法ってあるのかな…?
51%攻撃を防ぐための、いくつかの対策方法を紹介するよ。
取引所がブロック承認数を増やす
取引所が「ブロック承認数を増やす」というのは、取引が本当に正しいかどうかを確認するためにより多くのチェックを行うことを指します。
例えば、元々5ブロックのチェックを行っていたところを、10ブロックのチェックにするというイメージです。
攻撃者は二重支払いを目的とした操作を長時間にわたって続けることが難しいため、ブロック承認数が増えれば不自然な取引を見つけやすくなり、悪意ある取引を取引所で行われる前に察知できます。
モナコインが51%攻撃を受けた際、24ブロック前後の承認数を100ブロックに引き上げた国内取引所もあったんだ。
取引所が異変に気付ければ、51%攻撃による被害拡大を抑えられるかもしれないんだね。
マイニングプールの分散化
マイニングプールの集中化を防ぐために、多様な形のマイニングプールが考案されています。
マイニングプール分散化の取り組み
- StratumV2
→マイニングプロトコル。ブロックに含めるトランザクション選択の権限がマイナーにあり、マイニングの分散化・ビットコインの検閲耐性を高める - OCEAN
→マイニング分散化プロジェクトで、ブロック報酬をマイナーに直接配分する。ジャック・ドーシーが出資に参加
現状のマイニングプールも、参加するマイナーは自由にプールを移動できるけど、一部のプールに力が偏るのは良くないっていう声が多くあるんだね。
マイニングのセキュリティや検閲耐性を高めるためにも、StratumV2の実装に期待するビットコイナーが多くいるよ。
【まとめ】ビットコインの51%攻撃とは
51%攻撃・ポイントまとめ
- 51%攻撃とは、悪意のあるマイナーがハッシュレートの51%を支配し、二重支払いを実行できるようにすること
- ビットコインに51%攻撃を行うには莫大なコストがかかる上に失敗するリスクも高いため、理論上はできても現実的には極めて困難
- マイニングプールの集中化を防ぐためのプロジェクトも進んでいる
51%攻撃って「ビットコインがすべて乗っ取られる!」っていうものかと思ってたけど、人のビットコインを奪ったり、ビットコインの発行上限を変えたりはできないんだね。
過去にはモナコインやイーサリアムクラシックで51%攻撃が起きているけど、ビットコインを攻撃するのに必要なハッシュレート(計算能力)は桁違いに大きいから、ビットコインへの51%攻撃は非現実的だと考えられているよ。
ビットコインの仕組みって難しそうだし、よく分からないから何となく不安だったけど、他にも色々知りたいなって思ったよ。
ビットコインについて、もっと知っとこ!
関連記事:【イラスト解説】ビットコインって何?仕組みや何に使えるのかを初心者向けにわかりやすく解説
執筆者:Shigeru Minami
「知っとこ!ビットコイン図鑑」制作者。
ビットコイングッズのハンドメイド作家として活動中。