ブロックチェーンは改ざんできないものでセキュリティが高く安全なものだと思われがちですが、実はある攻撃によってブロックチェーンに不正なデータを仕込みそれをあたかも正しいデータのようにしてしまうことができるんです。
この攻撃のことを51%攻撃と呼んでいます。悪意のあるマイナーがブロックを分岐させ大きな計算力を武器に不正を働き、仮想通貨を強奪するというもの。近年ブロックチェーンは素晴らしい技術だと言われるようになりましたが同時に次々とこのようなブロックチェーンへの攻撃による事件も起きているのです。
ブロックチェーンではハッシュ関数による計算が行われ、取引データが暗号化された状態でブロックに収められ最後に承認作業が行われる。という作業が繰り返されブロックがチェーンのように繋がっていきます。
↓↓ハッシュ関数を含めブロックチェーンのことをもっと知りたい方はこちら↓ ↓
このハッシュ関数の計算結果に対する改ざんは事実上不可能と言われていますが、最後の承認方法に不正への抜け道があるということなのです。
この攻撃により
- 採掘の独占
- 二重支払い
が可能となり、攻撃者は仮想通貨をまんまとせしめるのです。
ここからはより具体的に図を用いて51%攻撃について説明していきたいと思います。
ブロックチェーンの分岐
まずブロックが分岐する場合の流れを簡単に説明すると次のようになります。
ブロックチェーン上のブロックは、複数のマイナーが行った計算の中で一番最初に解いたものが承認され新たに追加されていきます。
計算が終わると「できました!」と手が挙がります。
この計算が複数で同時に終わった場合はいくつも手が挙がり、ブロックチェーンは複数のブロックに分岐することになりますが、そのまま計算が継続されます。
いずれハッシュレートの大きい(計算総量の半分以上つまり51%以上)ブロックの方が承認され新たにブロックチェーンに組み込まれていきます。
チェーンが長くなった方を採用するというのがブロックチェーンのルールですので、今ブロックが組み込まれて長くなったチェーンが正式に採用され、もう一方は破棄されます。
51%攻撃
これがブロックが同時に生成された場合の流れですが、ハッシュレートを51%以上持つことができれば自分の不正なブロックをチェーンに組み込むことができて採掘を独占できてしまうということがわかります。
51%以上のハッシュレートを持った悪意のあるマイナー(採掘者)が不正なブロックを作りブロックチェーンを分岐させたあと自分たちのチェーンを正しいチェーンにしてしまうのです。
また二重支払い(一度支払ったコインを使って別の相手に支払うこと)が可能となります。
例えば、Aさんが持っている仮想通貨を取引所に送金し、その後またAさんが同じ仮想通貨を自分のウォレットに送金したとします。通常Proof of Work(PoW)によってネットワーク参加者全員に監視されていますのでこのような不正は承認されません。
ところが、ネットワーク参加者とは計算力のあるマイナーの集まりであるという事を頭に入れておくと、悪意のあるものが大きな計算力(つまり51%以上の計算力)を持つと不正があっても承認することが可能になってしまうのです。
これらが51%攻撃です。
過去にVerge(ヴァージ)が攻撃の対象に。
実際は51%ものハッシュレートを持つことは大変難しいことのようです。
ビットコインのノード数を下記サイトで見ることができます。10,000弱(2018.5.24現在)あります。(ノード:仮想通貨のネットワークに参加する全ての端末のこと。)
また同サイトでライブでノードの状況を見ることもできます。私は「へ~~ぇ」ぐらいで眺めてました笑。
また51%攻撃を行って仮想通貨の報酬を受け取ったとしても、この攻撃により市場が混乱して価格が暴落することなどが考えられ犯罪者にとって大きなメリットがないと考えられていました。
しかし2018年4月に仮想通貨Verge(ヴァージ)が攻撃を受け、さらに5月にも再攻撃を受けています。
新たにBitcoinGold(ビットコインゴールド)も攻撃の対象に!
またBitcoinGold(ビットコインゴールド)も同じ時期に攻撃を受け20億円の被害が出たと報じられています。
BitcoinGoldへの被害総額は約20億円に|相次ぐ51%攻撃で主要仮想通貨が再評価か
— CoinPost -仮想通貨情報サイト- (@coin_post) 2018年5月24日
Monacoinのセルフィッシュマイニング、Vergeの51%攻撃に続く形でBitcoinGoldも51%攻撃の標的に。
今知るべきハッシュレートが低く汎用性の高いGPUマイニング通貨の危惧と、主要通貨の重要性とは?https://t.co/AZFfSNCHeK
最近立て続けに不正が起きていますが、仮想通貨自体が崩壊してしまうなどという大きなことになってしまわないかすごく心配です。。。
関連記事
モナコインのブロックチェーンへの攻撃。これは「Block withholding attack」というものでした。
そもそもブロックチェーンってなんですか?を解説してます!
では!