
仮想通貨は、ブロックチェーンの仕組みで動いています。
ネットワークに参加する人がそれぞれお互いの取引を管理しあって、特定の管理者がいない価値交換の仕組みを実現しているのです。
仮想通貨の代表であるBitcoinも例にもれず、ブロックチェーンによって動いています。
しかし、Bitcoinをはじめ仮想通貨の信頼を脅かす、「51%攻撃」をご存知でしょうか。
「なんとなく名前は聞いたことある」
「ネットワークが乗っ取られちゃうんでしょ?」
「でも具体的なところまでは・・・」
そんな人のために、今回は「51%攻撃」について正しく理解するための解説をしていきます。
この記事を読むと、
・「51%攻撃」の仕組み
・「51%攻撃」でできることと、できないこと
・「51%攻撃」がBitcoinで起こり得るのか
などについて、まるっと理解することができます。
それでは、解説をはじめていきます。
本記事の内容
そもそも「51%攻撃」ってなに?
そもそも、「51%攻撃」とはどういったものなのでしょうか。
一言で表現すると、「ある暗号通貨のネットワークの過半数を占拠することで、そのネットワークを自在に操る攻撃」ということができます。
この攻撃がどのようにして行われるのかを知るには、ブロックチェーンがどのように動いているのかについて知る必要があります。
ここからは、Bitcoinを例にとって説明をしていきます。
Bitcoinにおけるマイニングの仕組み
ブロックチェーンはマイニングという作業によって、一本の長い鎖のように情報をつないで管理しています。
マイニングの作業は、超複雑な暗号を計算・解読して、完全にランダムな文字列を探し出す作業です。
そのため、単純にPCのマシンパワーに頼ることになります。
ちなみに、この"ブロックの検証作業にマシンパワーを使う方式"をPoW(Proof of Work, 仕事による証明)といいます。
そして、一番最初に検証作業を終えたマイナーは、報酬として、新規発行されるBitcoinを手に入れることができます。
このマイナーが新しいブロックを生成し、次のブロックのマイニングが新たに開始される、というサイクルで、Bitcoinのブロックチェーンが伸びているのです。
とはいえ、世界中にマイナーがいるので、ほぼ同じタイミングでマイニングに成功するマイナーが出ることがあります。
そうすると、直前のブロックから、同じ内容の新しいブロックが2つ生成され、枝分かれすることがあります。
これをフォークといいます。
このフォークに対しては、「一番長いチェーンを正しいものとする」というBitcoinのルールが適用されます。
”より多くの人がマイニングしてる方を正しいことにしましょう”、という、多数決の原理に基づいたルールです。
そのため、この分岐はいずれ、参加するマイナーが多い方のチェーン一本に収束します。
これがBitcoinにおけるブロックチェーン生成とマイニングの大まかな仕組みです。
「51%攻撃」はマイニングの仕組みを逆手に取ったもの
51%攻撃は、Bitcoinのマイニングの性質を逆手にとった手法です。
先ほど、チェーンが分岐した際には、「一番長いチェーンを正しいものとする」というルールが適用されるとお話ししました。
そして、チェーンは、より多くのマイナーが参加しているほうが長くなります。
ただ、BitcoinはPoWで動いているので、厳密にはより多くのマシンパワーがかかっている方が長くなるのです。
そのため、あるマイナー(ひとりでも、複数が結託してもよい)が、ネットワークの過半数を占めるマシンパワーを用意できれば、自分でチェーンを伸ばして、好きなチェーンを「正しいもの」としてBitcoinネットワークを動かすことができるわけです。
これが「51%攻撃」の仕組みです。
「51%攻撃」はBitcoinにとって本当に驚異なのか
「51%攻撃」がどのようにして起こるかについては分かったけど、具体的には何ができるの?という話をしていきましょう。
ここを正しく理解することで、51%攻撃の危険性についても理解することができます。
「51%攻撃」を仕掛けることは現実的にできるのか?
そもそも、51%攻撃を仕掛けるのは、いまのBitcoinネットワークで現実的な話なのでしょうか。
既存のマイナーが攻撃を仕掛ける可能性
まず、既存のネットワークの構成(「ハッシュレート」ということもあります)を見てみましょう。
単独で51%以上を占めているマイナーはいないので、51%攻撃は現実的ではない、とも思えるでしょう。
しかし、Unknownを除いた上位4つのマイニングプールをあわせると、すでに過半数を超えていることが分かります。
つまり、この4社が結託すれば、容易に51%攻撃を仕掛けることが可能になる、ということです。
「そんなこといっても、これまで大丈夫だったんだから結託なんてしないでしょ。」
と予想している人も大勢います。
それはある意味で正しいでしょう。
資金力のある者が新たにマイナーになって攻撃を行う可能性
しかし、51%攻撃の可能性はこれだけではなく、新規のマイナーが攻撃を仕掛けることも考えられるのです。
つまり、資金力のある企業や国がBitcoinネットワークを攻撃する場合です。
現在のBitcoinネットワークに51%攻撃を仕掛けるのにいくらかかるのか、という計算をしているサイトがあります。
これによれば、Bitcoinに対して1時間の攻撃を仕掛けるコストは約6,200万円(一日で7.2億程度)になります。
(参照:https://www.crypto51.app/coins/BTC.html)
また、51%攻撃について研究した論文のデータによれば、一日で約2億円あれば可能としています。
そんなにかかるの?!と思う人もいるかもしれませんが、これは意外と小さい数字です。
例えば、Googleは2018年の1〜3月期だけで、1兆円超の利益を出しています。
つまり、資金力のある企業にとってBitcoinを攻撃するのはそう難しいことではないと言えるでしょう。
さらに、Bitcoinのような暗号通貨を嫌う国が出てくれば、国は無尽蔵にお金を用意することができるので、大きな障壁はないことになります。
「51%攻撃」でできる3つのこと
では、51%攻撃によって、具体的にどんなことができるようになるのでしょうか。
主に、以下のことができるようになります。
・二重支払いが可能になる
・他人の支払いを無効にする
・マイニングの報酬を独り占めする
順に説明していきます。
二重支払いが可能になる
攻撃者がするBitcoinでの支払いをあとから無効にして、別の人への支払いに使うことができます。
たとえば、攻撃者が3BTC持っており、ネットショップ上でAさんに3BTC支払い、時計を買うとします。
Aさんは、攻撃者から3BTC支払われたのを確認して、時計を発送します。
この段階で、攻撃者は支払いをブロックから除外して、新たにBさんへの支払いに使います。
こうすると、実質的には攻撃者が6BTC使えることになってしまいます。
他人の支払いを無効にする
攻撃者が、誰かの支払いを無効にすることができます。
攻撃者にとって嫌いなCさんという人がいたとします。
それぞれの取引情報には、誰が誰に送ったという情報が書かれているので、そこからCさんの取引だけをピックアップし、ブロックに含まれないようにします。
ブロックに含まれない取引はいつまでたっても未承認のままなので、支払いが無効になってしまうのです。
マイニングの報酬を独占する
攻撃者は、Bitcoinネットワーク全体の過半数のマシンパワーを持っていることになるので、新しいブロックを生成し続けることができ、その報酬として発行されるBTCも独占することができます。
実際には"攻撃者を拒否する"アップデートが入る?
以上のように、51%攻撃によって様々なことができるようになりますが、実際に51%攻撃が行われた場合には、開発者がこれに気づいて、攻撃者を撃退する仕組みを導入すると考えられます。
たとえば、二重支払いについては、「攻撃者が支払った」という情報を書き換えることはできません。
そこで、「攻撃者の支払いを無効にする」というアップデートを攻撃者以外のネットワーク全体で承認して、攻撃者がマイニングしていない方のチェーンで取引を続ける方策を取り得ます。
攻撃者がマイニングの報酬として得たBTCについても同じで、BTCを使用するときに「攻撃者からの支払いである」という情報をのせざるを得ないので、支払いを受け付けないという対策を取ることができます。
また、他人の取引の承認についても似たような手法、つまり、攻撃者がマイニングしていない方のチェーンのブロックに含めることで、取引を続けることが考えられます。
さらに、51%攻撃の兆候をつかむことができれば、ネットワークを支配される前に、「攻撃者のマイニングを認めない」というアップデートをネットワーク全体で承認することで、攻撃を未然に防ぐこともできます。
「51%攻撃」ではできない3つのこと
逆に、51%攻撃が成功してもできないことがあります。
・他人のBTCを盗む
・過去の取引を改ざんする
・マイニングの報酬額を変更する
こういったことは、51%攻撃でもすることができません。
他人のBTCを盗むことはできない
BTCは、それぞれのウォレットで管理されており、それぞれの秘密鍵がないと取り出すことはできません。
秘密鍵は本人しか知りえず、解読することも事実上不可能なので、ネットワークを支配したとしても、他人のウォレットからBTCを取り出して盗むことはできないのです。
ちなみに、過去にMt.GOX事件といって、取引所から大量のBTCが盗まれるという事件がありました。
この事件は、個々人が取引所に預けていたBTCが、ハッキングによって盗まれたとされる事件です。
これは、顧客のBTCが、それぞれに対応する秘密鍵と一緒にサーバーに保管されていたため、このサーバーがハッキングを受けて、BTCが盗まれたと考えられています。
つまり、Bitcoinのシステム自体の欠陥というよりは、取引所の情報管理が甘かったことが原因といえます。
過去の取引を改ざんすることはできない
51%攻撃が成功する前の取引は、すでにブロックに含まれており、ネットワークによる承認が行われています。
そのため、この情報をあとから改ざんすることは不可能です。
マイニングの報酬を変更することはできない
マイニングの報酬を変更する、というのは、Bitcoinのシステム基幹を変更することと同義です。
このような変更をするためには、Bitcoinネットワークに参加している人全体(その割合は80%だったり90%だったりします)の承認が必要です。
そのため、51%攻撃によって過半数を握ったからといって、変更することは不可能なのです。
本当の驚異はBitcoinの“信頼性”が下がってしまうこと
ここまで見てきたように、実際に51%攻撃が起こっても、できないことも多く、二重支払いや取引承認、報酬についても、攻撃が発覚した段階で対策をとることができます。
そのため、51%攻撃がもたらす被害は少ないようにも思えます。
しかし、51%攻撃の本当の驚異は、Bitcoin自体の信頼性が、攻撃によって下がってしまうことにあるのです。
Bitcoinの特徴のひとつとして、非中央集権の仕組みであることが挙げられます。
特定の管理者がおらず、ネットワークの参加者が相互に管理し合う仕組みをさします。
しかし、特定の攻撃者を弾く、という決定をすることで、本来であれば誰でも参加できるはずのネットワークに参加できないことになります。
しかも、その意思決定プロセスは、おそらく開発陣主導になることが予想されます。
(通常のアップデートのように、ネットワーク参加者のコンセンサスをとることを考えると時間がかかりすぎ、その間に攻撃者がネットワークをどんどん汚染してしまうため。)
このように、本来であれば非中央集権的な仕組みであったはずのBitcoinネットワークが、中央集権的な形で管理される可能性があるのです。
(これは、過去にThe DAO事件でEthereumで起こったことであり、反発したユーザーがEthereum Classicというフォークコインを作るきっかけになりました。)
また、仮に攻撃を阻止するアップデートが適切になされたとしても、「51%攻撃を仕掛ける者がいる」という事実は覆らないので、Bitcoinに対する信頼がゆらぎ、BTCの価格が大暴落することが予想されます。
そうすると、個々人が持っているBTCがただの電子クズになる可能性もあるのです。
「51%攻撃」が起こるシナリオ
ここまで見てくると、51%攻撃が起こるシナリオとしては、
"何らかの理由"でBitcoinネットワークを破壊したい企業・団体や国が51%攻撃を仕掛ける
ことが考えられます。
これとは異なり、現時点で取引所が結託して51%以上のパワーを得て、ネットワークを支配するというシナリオは考えにくいです。
理由は、彼らはBitcoinの取引がされればされるほど利益を得るので、Bitcoinが信頼されていることが絶対条件であり、それとは真逆の結果を引き起こす51%攻撃を仕掛けるインセンティブがないためです。
さらに、例えば、51%攻撃が発覚しないうちにBTCの不正送金を行ったり、報酬を得て取引所等で売り抜ける、というのは、51%攻撃を仕掛けるためのコストと得られる利益のバランスがつり合わないので、起こる可能性は低いでしょう。
BTCを不正入手して売り抜けるという目的であれば、Mt.GOX事件やCoincheckのNEM流失事件のように、取引所や販売所を狙ったほうが懸命です。
攻撃を仕掛ける"何らかの理由"として、主に考えられるのは2つです。
1つ目は、別の暗号通貨を普及させたい企業や団体が主導となって、秘密裏に51%攻撃によってBitcoinの信頼を落とし、普及させたい暗号通貨を広めるというシナリオ。
2つ目は、Bitcoinが爆発的に普及して、法定通貨よりもBitcoinを持っていたほうがよい、となりそうな場合に、法定通貨の価値を守るために国がBitcoinネットワークを攻撃するシナリオ。
直近であり得そうなのは1つ目のシナリオですね。
「51%攻撃」を防ぐには"とにかくたくさんの人に使ってもらう"ことが重要
ここまではBitcoinを例に説明してきましたが、他の暗号通貨では51%攻撃がより高い確率で起こりえます。
ネットワーク参加者が少なければ少ないほど、51%を簡単に獲得できるからです。
Bitcoinは現時点で最大のネットワークを持つ仮想通貨のひとつなので、51%攻撃には多大なコストがかかるため、実現性は低いことがわかりました。
しかし、そのコストを低く抑えられる通貨であれば、攻撃を仕掛けるインセンティブも生まれます。
直近では、モナコインがセルフィッシュマイニングによる攻撃を受けて、二重支払いにより大量の資金が不正入手される事件がありました。
このセルフィッシュマイニングは51%攻撃の特性を利用しています。
(※51%攻撃とセルフィッシュマイニングは異なるものです。)
事件当時のモナコインは、簡単に過半数のハッシュパワーを得ることができる状況だったため、攻撃対象になってしまったのです。
こういった攻撃を未然に防ぐためには、攻撃者のコストが上がって攻撃が仕掛けられないよう、とにかくたくさんの人にその仮想通貨を使ってもらうしかありません。
(厳密には、セルフィッシュマイニングへの対策が別に考えれられますが、本稿の内容からは逸れるため割愛します。)
まとめ:51%攻撃が起こる"可能性"が高まると脅威
ここまでの内容で「51%攻撃」の内容が正しく理解できれば、「51%攻撃」は危険だが、何でもかんでもできるわけではなく、実際に起こったとしても対策をとれることがお分かりいただけたと思います。
しかし、「51%攻撃」の最大の危険性は、その内容ではなく、攻撃対象となった仮想通貨の信頼性を下げ、価値を下げることにあります。
Bitcoinのような巨大なネットワークがあれば攻撃の可能性は低いのに対して、新興の仮想通貨では攻撃の対象になる確率があがります。
「51%攻撃」への最大の対策は、とにかくネットワークを拡大させることにあり、迅速な開発とコミュニティの形成が鍵になっていると言えるでしょう。
最後までお読みいただき、ありがとうございました。
bitbank(ビットバンク)
取扱通貨 | ビットコイン
イーサリアム ビットコインキャッシュ ライトコイン モナ リップル |
取引手数料 | 無料 |
セキュリティの高さ | ・二段階認証有り
・コールドウォレット対応 ・マルチシグ対応 |
使いやすさ | 初心者でも簡単(アプリ無し) |
通貨の購入方法 | 取引所のみ(ビットコイン以外も安く購入できる) |
取引所の出来高 | 取引高が高く安定して取引できる |
GMOコイン
取扱通貨 | ビットコイン
イーサリアム ビットコインキャッシュ ライトコイン リップル イーサクラシック |
取引手数料 | 無料 |
セキュリティの高さ | ・二段階認証有り
・コールドウォレット対応 ・マルチシグ対応 |
使いやすさ | ウェブもアプリも使いやすい |
通貨の購入方法 | 販売所のみ |
取引所の出来高 | 取引高が高く安定して取引できる |
BITPoint(ビットポイント)
取扱通貨 | ビットコイン
イーサリアム ライトコイン ビットコインキャッシュ リップル |
取引手数料 | 無料 |
セキュリティの高さ | ・アイ・エス・レーティングによる情報セキュリティ格付け『A』
・コールドウォレットとホットウォレットの利点を組み合わせた自社開発ウォレットで管理 ・マルチシグ対応 |
使いやすさ | ・取引ツールが使いやすい!MT4を導入
・提携銀行が多い |
通貨の購入方法 | 取引所のみ |
取引所の出来高 | 取引高が少な目 |