51%攻撃とは?
目次
はじめに
51%攻撃とは?
ホーム記事
51%攻撃とは?

51%攻撃とは?

中級者
Published Nov 28, 2018Updated Apr 6, 2022
5m

はじめに

51%攻撃について学ぶ前に、マイニングとブロックチェーンを使用したシステムについてよく理解しておくことが重要です。

Bitcoinとその基盤技術であるブロックチェーンの大きな強みは、データの構築と検証を分散して行うことです。ノードの分散作業により、プロトコルのルールが守られていること、そしてネットワーク参加者全員がブロックチェーンの現状に同意していることが保証されます。つまり、マイニングのプロセスや使用しているソフトウェアのバージョン、取引の正当性などについて、大多数のノードが定期的にコンセンサスを得る必要があるということです。

Bitcoinのコンセンサスアルゴリズム (Proof of Work) は、マイナーが提供したブロックハッシュが正確であるとネットワークノードが集合的に合意した場合 (すなわち、ブロックハッシュはマイナーが十分な作業を行い、そのブロックの問題に対する有効なソリューションを見つけたことが証明できる) のみ、新しいトランザクションブロックを検証できることを保証するものです。

ブロックチェーンのインフラは、分散型台帳および分散システムとして、中央集権的な主体が自らの目的のためにネットワークを利用することを防ぐことができ、これがBitcoinのネットワークに単一の管理者が存在しない理由です。

(PoWベースのシステムでは) マイニングのプロセスには膨大な電力と計算能力が投入されるため、マイナーのパフォーマンスはその計算能力の大きさによって決まります。通常、この計算能力はハッシュパワーまたはハッシュレートと呼ばれています。様々な場所に多くのマイニングノードがあり、それらを使用してマイナーはあたらしい有効なブロックハッシュを見つけ、新しく発行されたBitcoinの報酬を得るために、激しく競い合っています。

このような状況では、マイニングパワーが世界中の異なるノードに分散されるため、ハッシュレートが1つの組織の手に委ねられることはなくなります。少なくとも、そうならないはずです。

しかし、ハッシュレートが十分に分散されなくなった場合はどうなるのでしょうか。例えば、ある一つの団体や組織がハッシュパワーの50%以上を取得できた場合はどうなるのでしょうか。その結果として考えられるのが、51%攻撃、別名マジョリティ・アタックと呼ばれるものです。


51%攻撃とは?

51%攻撃とは、ブロックチェーンネットワークに対する潜在的な攻撃で、単一の団体や組織がハッシュレートの大部分を支配し、ネットワークを混乱させる攻撃のことです。このようなシナリオでは、攻撃者はトランザクションの順序を意図的に除外または変更するのに十分なマイニングパワーを持っていることになります。また、コントロールされている間に行ったトランザクションを取り消すことも可能で、二重支出の問題にもつながります。

51%攻撃が成功すると、攻撃者は一部または全部のトランザクションを承認できないようにしたり (トランザクションのサービス拒否)、一部または自分以外の全てのマイナーがマイニングできないようにしたりすることも可能になり、いわゆるマイニングの独占が行われます。

一方、51%攻撃では、攻撃者は他のユーザーのトランザクションを遡及して無効にすることや、他のユーザーがトランザクションを作成し、ネットワークにブロードキャストするのを阻止することはできません。ブロックの報酬を変更したり、無からコインを作り出したり、攻撃者のものではないコインを盗んだりすることもできないと考えられています。


51%攻撃の可能性

ブロックチェーンは分散したノードのネットワークで管理されるため、参加者全員が協力して合意形成のプロセスを行っています。そのため、セキュリティ強度が高い傾向にあります。ネットワークが大きければ大きいほど、攻撃やデータの破損に対する防御は強固になります。

Proof of Workのブロックチェーンでは、ハッシュレートが多いマイナーほど、次のブロックの有効な解を見つける確率が高くなります。なぜなら、マイニングには無数のハッシュ化の試行が必要であり、計算能力が高ければ高いほど、1秒あたりの試行回数が増えるからです。Bitcoinの成長とセキュリティに貢献するため、初期のマイナー数名がBitcoinネットワークに参加しました。Bitcoinの通貨価格の上昇に伴い、ブロック報酬(現在1ブロックあたり12.5BTCと設定されている)の獲得を目指し、多くの新規マイナーが参入しました。こうした競争原理が、Bitcoinが安全である理由の1つです。マイナーは、正直に行動し、ブロック報酬を受け取るために努力するのでなければ、大量のリソースを投資するインセンティブはありません。

したがって、Bitcoinに対する51%攻撃は、ネットワークの規模からしてむしろあり得ないことです。ブロックチェーンが十分に大きくなると、一人の人間やグループが他の参加者を圧倒するほどの計算能力を手に入れる可能性は急速に低くなります。

また、ブロックはすべて暗号証明によって紐づいているため、チェーンが大きくなればなるほど、以前に確認したブロックを変更することは難しくなります。同じ理由で、ブロックの承認数が多ければ多いほど、その中のトランザクションを変更したり戻したりするコストは高くなります。そのため、万が一攻撃が成功しても、おそらく最近の数ブロックのトランザクションを短時間で変更することしかできないでしょう。

さらに進んで、悪意のある主体が利益を動機とせず、コストがかかってもBitcoinネットワークを破壊するためだけに攻撃することを決意したシナリオを想像してみましょう。たとえ攻撃者がネットワークを破壊することに成功したとしても、Bitcoinのソフトウェアとプロトコルは、その攻撃への対応としてすぐに修正され適応されるでしょう。そのためには、他のネットワークノードがコンセンサスを得て、これらの変更に同意する必要がありますが、それはおそらく緊急事態の際に非常に迅速に行われるでしょう。Bitcoinは攻撃に非常に強く、現存する仮想通貨の中で最も安全で信頼性の高い通貨と言われています。

攻撃者がBitcoinネットワークの残りの部分より多くの計算能力を得ることは非常に困難ですが、小規模な仮想通貨ではそれほど困難ではありません。Bitcoinと比較した場合、アルトコインはブロックチェーンを確保するハッシュパワーが相対的に低いです。さらに言ってしまうと、51%攻撃が実際に可能なほどハッシュパワーは低いです。51%攻撃の被害を受けた仮想通貨の代表的な例として、Monacoin、Bitcoin Gold、ZenCashなどがあります。