WebX完全ガイド
TOP 新着一覧 取引所 WebX

51%攻撃とは?仕組みと二重支払いのリスク、過去事例をわかりやすく解説

画像はShutterstockのライセンス許諾により使用

51%攻撃とは、PoW型ブロックチェーンにおいて、ネットワーク全体の過半の計算力を握った参加者が、直近の取引履歴を書き換え、二重支払いを狙う攻撃です。ビットコインに限らず、PoWを採用するチェーン全般に共通するリスクとして知られています。

「ネットワークを乗っ取られる攻撃」と誤解されがちですが、実際に主な問題となるのは二重支払いです。本記事では、51%攻撃の仕組み、起こりやすさの違い、過去の事例、そしてビットコインで実行しにくい理由を整理します。

1. 51%攻撃とは?二重支払いを狙う攻撃

51%攻撃とは、Proof of Work(PoW)を採用するブロックチェーンにおいて、ネットワーク全体の過半の計算力(ハッシュレート)を持つ参加者が、その計算力を悪用して不正な取引履歴を正式なものとして成立させようとする攻撃です。

「過半の計算力を握られれば、他人の資産まで自由に盗まれてしまう」というイメージを持たれがちですが、これは誤解です。51%攻撃で主に狙われるのは、攻撃者自身が一度行った支払いを、あとから正式な履歴の外に押し出し、同じ資産をもう一度使える状態にする「二重支払い」です。

二重支払い(ダブルスペンド)問題とは

二重支払いとは、同じ資産を複数回使えてしまう問題のことです。紙幣や硬貨であれば、一度相手に渡したお金は自分の手元からなくなります。しかし、デジタルデータはコピーが可能なため、同じ資産を複数回使えてしまう可能性があります。

この二重支払いは、ビットコイン以前からデジタル通貨が抱えてきた根本的な課題でした。従来の金融システムでは、銀行や決済機関のような中央の管理者が取引を確認し、この問題に対応しています。

ビットコインは二重支払い問題を解決するために生まれた

ビットコインは、この二重支払い問題を中央管理者なしで解決するために設計されました。Proof of Workによって、どの取引履歴を正式なものとして扱うかをネットワーク全体で決める仕組みを作ったのです。

さらにサトシ・ナカモトは、ビットコインの白書(ホワイトペーパー)の時点で、過半の計算力を持つ攻撃者の存在も想定していました。51%攻撃は、ブロックチェーンの設計後に見つかった想定外の欠陥ではなく、PoWという仕組みが構造的に抱えるリスクとして、最初から織り込まれていたものです(白書自体に「51%攻撃」という語はなく、過半の計算力を持つ攻撃者による二重支払いの成功確率として論じられています。)。

では、なぜ過半のハッシュレートを持つと、こうした書き換えが可能になるのでしょうか。ブロックの生成は、いわば「早く正解を見つけた人が次のブロックを作れる」というレースのようなものです。

自分が次のブロックを見つけられる確率は、自分の計算力がネットワーク全体に占める割合にほぼ比例します。つまりハッシュレートが51%あれば、平均すると自分1人で残り49%の参加者全員を合わせたよりも速くブロックを積み上げられる計算になります。裏で別のチェーンを伸ばした場合、平均的な生産速度で勝っている側は時間が経つほど追いつきやすくなり、逆転する確率も高まっていきます。逆に49%以下では、この追いつく確率はブロック差が開くほど急激に小さくなるため、取引所は承認数を待つことでリスクを抑えられるのです。

2. ブロックチェーンの基本の仕組み:ブロック生成とチェーンの分岐

51%攻撃を理解するために、まずPoW型ブロックチェーンの基本的な仕組みを確認しておきましょう。ここではビットコインを例に説明します。

ブロックはどう生成されるか

ブロックチェーンでは、取引はひとつずつ独立して記録されるのではなく、一定数の取引をまとめた「ブロック」として記録されます。新しいブロックは、1つ前のブロックにつながる形で追加され、このように取引の記録が入ったブロックが時系列に沿ってつながっていく仕組みをブロックチェーンと呼びます。

ブロックが生成され時系列に沿ってチェーンにつながっていく仕組みを示した図

ビットコインでは、およそ10分ごとに新しいブロックが生成されます。ただし、誰でも自由にブロックを追加できるわけではありません。ブロックを追加するには、マイナーがProof of Workと呼ばれる計算作業を行う必要があり、この計算に成功したマイナーが新しいブロックをネットワークに提案します。

ネットワークは、最も多くのProof of Workが積み重なったチェーンを正式な取引履歴として扱います。中央管理者が「この取引履歴が正しい」と判断するのではなく、計算作業の積み重ねによって、どのチェーンを正式な履歴とするかが決まる点がポイントです。

チェーンが一時的に分岐することもある

ブロックチェーンは、常に1本のチェーンだけがまっすぐ伸び続けるわけではありません。世界中のマイナーが同時にブロックを探しているため、ほぼ同じタイミングで2つのブロックが見つかることがあり、この場合チェーンは一時的に分岐します。

ほぼ同時に2つのブロックが生成されチェーンが一時的に分岐する様子を示した図

この時点では、どちらのチェーンが正式な履歴になるかはまだ決まっていません。その後、どちらか一方のチェーンに次のブロックが追加され、より多くのProof of Workが積み重なったチェーンが正式な履歴として採用されます。採用されなかった側のブロックは、正式な履歴には含まれなくなります。

つまりブロックチェーンでは、一時的に複数の履歴候補が生まれることがあります。しかし最終的には、最も多くのProof of Workが積み重なったチェーンが正式な取引履歴として残る仕組みになっています。51%攻撃は、この「チェーンの分岐」と「正式な履歴の選択」の仕組みを悪用する攻撃です。

3. 51%攻撃の仕組み:二重支払いが成立するまでの流れ

51%攻撃で二重支払いが成立するまでの流れを、ビットコインを例に見てみましょう。

表の履歴と裏の履歴を同時に進行させる

攻撃者はまず、取引所などにBTCを送金します。この送金を含むチェーンが公開されると、取引所からは「入金された」ように見え、取引所はその履歴を確認したうえで換金や出金を許可します。

攻撃者が取引所に送金し、その履歴を含むチェーンが公開される様子を示した図

しかし攻撃者はその裏で、送金を含まない別のチェーンを秘密裏に伸ばしています。表では「送金した履歴」を見せながら、裏では「送金していない履歴」を作っている状態です。

攻撃者が送金を含まない別のチェーンを裏で伸ばしている様子を示した図

秘密チェーンが逆転し正式な履歴として採用される

送金を含まない秘密チェーンの方が長くなり、より多くのProof of Workが積み重なったチェーンとして採用されると、取引所が見ていた送金を含むチェーンは正式な履歴から外れます。

パラレルワールドの世界線にたとえるなら、攻撃者は「送金した世界線」を取引所に見せて資産を受け取り、その後で「送金していない世界線」を正式な歴史にしてしまうようなものです。送金した世界線が完全に消えるわけではありませんが、ブロックチェーン上で正史として扱われるのは送金を含まない世界線です。

その結果、取引所は資産を渡した後であるにもかかわらず、正式な履歴上では「攻撃者は送金していなかった」ことになります。これが、51%攻撃による二重支払いです。

4. 51%攻撃で「できること」「できないこと」

51%攻撃という言葉から連想されるイメージと、実際に技術的に可能なことの間には大きな差があります。以下の表に整理しました。

できること できないこと
直近の取引履歴の再編成(チェーンの巻き戻し) 他人のウォレットから資産を盗むこと(秘密鍵が必要なため)
自分が行った支払いの二重支払い 発行上限の変更
特定の取引を一時的に承認しにくくすること(検閲) コンセンサスルールそのものの一方的な書き換え

できること:直近取引の巻き戻し・二重支払い・取引の検閲

51%攻撃で主に可能になるのは、直近の取引履歴の再編成、二重支払い、特定の取引を一時的に承認しにくくすることです。過半の計算力を使って、自分に都合のよいチェーンを伸ばし、正式な履歴として採用させることがこれにあたります。

できないこと:資産の窃取・発行上限の変更・秘密鍵なしの送金

一方で、51%攻撃によって他人のウォレットから資産を自由に盗めるわけではありません。他人の資産を動かすには、そのウォレットの秘密鍵が必要だからです。また、発行上限を変更したり、コンセンサスルールそのものを一方的に書き換えたりすることもできません。ルールを変えるには、ネットワーク参加者がその変更を受け入れる必要があり、過半の計算力を持つだけでネットワーク全体を自由に支配できるわけではありません。

6. 過去に起きた51%攻撃の事例

51%攻撃は、単なる理論上の話ではありません。実際に、ハッシュレートの小さいPoWチェーンでは、チェーンの再編成や二重支払いが発生した事例があります。

Ethereum Classic(2019年・2020年)

Coinbaseは2019年1月、Ethereum Classicで深いチェーン再編成を検知し、その中に二重支払いが含まれていたと報告しました。最終的に、15件の再編成のうち12件に二重支払いが含まれ、合計約21万9,500 ETC、当時の価値で約110万ドル相当だったとされています。

Ethereum Classicでは2020年にも複数回の51%攻撃が報告されています。Coinbaseによると、2020年7月末の攻撃では約80万ETC、当時の価値で約580万ドル相当の二重支払いが発生し、同年8月5日にも約46万ETC、約320万ドル相当の二重支払いが確認されました。

Bitcoin Gold(2018年)

Bitcoin Goldでも、2018年に51%攻撃による二重支払いが報告されています。攻撃者は取引所を標的にし、当時の価値で約1,800万ドル相当のBTGを二重支払いしたと報じられました。

一方で、ビットコイン本体では、一般に51%攻撃が成功した事例は確認されていません。これらの事例からわかるのは、51%攻撃が現実に起こりうる攻撃である一方、そのリスクはネットワークの規模やハッシュレートに大きく左右されるということです。

7. ビットコインで51%攻撃が現実的に難しい理由

51%攻撃は理論上は可能な攻撃ですが、ビットコインでは現実的に成立しにくいと考えられています。その理由は、攻撃に必要な計算力とコストが非常に大きいことにあります。

攻撃に必要な計算力・コストの大きさ

ビットコインには、世界中のマイナーが参加しています。攻撃者が自分に都合のよいチェーンを正式な履歴として採用させるには、その膨大な計算力を上回るだけの設備、電力、運用体制を用意しなければなりません。

さらに、仮に攻撃に成功したとしても、ビットコインへの信用が大きく損なわれれば、BTCの価格やネットワーク全体の価値も下がる可能性があります。つまり、攻撃者自身にとっても利益が割に合わない結果になりかねません。

サトシ・ナカモトが想定していたインセンティブ設計

この点は、サトシ・ナカモトも白書の時点で想定していました。白書では、正直な参加者全体を上回る計算力を持つ攻撃者が現れた場合でも、その計算力を使って過去の支払いを取り消すより、ルールに従ってブロックを作り報酬を得る方が合理的だと説明されています。

つまりビットコインは、51%攻撃を技術的に絶対不可能にしているわけではありません。攻撃に必要なコストを巨大にし、さらに攻撃するより正直に参加した方が得になるように設計することで、51%攻撃を現実的に成立しにくいものにしているのです。

9. よくある質問(FAQ)

Q51%攻撃が起きると、他人の資産を勝手に盗めるのですか?

いいえ。51%攻撃で主に狙われるのは、攻撃者自身が行った支払いをあとから正式な履歴の外に押し出す二重支払いです。

他人のウォレットからBTCなどを動かすには秘密鍵が必要であり、51%攻撃を成功させても他人の資産を直接盗むことはできません。

Q51%攻撃で発行上限やルールそのものを書き換えられますか?

できません。51%攻撃で可能になるのは、直近の取引履歴の再編成や二重支払い、特定取引の一時的な検閲などに限られます。

発行上限やコンセンサスルールを変更するにはネットワーク参加者の合意が必要であり、過半のハッシュレートを持つだけでは実現できません。

Qなぜ「51%」攻撃と呼ばれるのですか?

ネットワーク全体の過半の計算力(ハッシュレート)を持つと、他の参加者より速くブロックを作り続けられる可能性が高まるためです。

ただし「51%」は分かりやすい目安であり、実際のリスクはネットワークの分散度合いや攻撃対象となる取引の承認数によって変わります。

Q国家規模の攻撃であれば51%攻撃は可能ですか?

莫大な資金・設備・電力を投入できる主体であれば、理論上は脅威になり得ます。特に利益目的ではなくネットワークの信用を損なうこと自体が目的の場合、通常の攻撃者とは前提が異なります。

ただしその場合でも、他人の資産を自由に盗んだり発行上限を変更したりすることはできません。

Q取引所はどのように51%攻撃のリスクを下げているのですか?

取引所は入金をすぐに確定扱いにせず、一定数のブロックが積み重なるまで待つ「承認数(コンファメーション)」の仕組みでリスクを下げています。

送金を含むブロックの後に多くのブロックが積み重なるほど、その履歴を覆すには膨大な計算力が必要になるため、高額な入金ほど多くの承認数を待つ運用が一般的です。

まとめ

51%攻撃は、ビットコインにとって致命的な脅威であるかのように語られることがあります。しかしここまで見てきたように、その主な狙いはネットワークを完全に乗っ取ることではなく、二重支払いです。そして二重支払いは、そもそもブロックチェーンが解決しようとしたデジタル通貨の根本的な課題でした。

重要なのは、51%攻撃がブロックチェーンの設計後に見つかった想定外の欠陥ではないという点です。サトシ・ナカモトは白書の時点で、正直な参加者全体を上回る計算力を持つ攻撃者の存在を想定していました。そのうえで、その計算力を使って人をだますより、ルールに従ってブロックを作り報酬を得る方が合理的になるよう、インセンティブを設計しています。

51%攻撃が実際に成立しやすいかどうかは、チェーンごとのハッシュレートの規模や分散度合いによって大きく異なります。Ethereum ClassicやBitcoin Goldのような事例がある一方、ビットコインでは攻撃に必要なコストの大きさとインセンティブ設計により、現実的に成立しにくいものとなっています。

CoinPost App DL