仮想通貨で億り人を夢見る男

仮想通貨界隈の動向/資産公開/学びのアウトプット

【仮想通貨】ブロックチェーンへの攻撃!51%攻撃とは?

f:id:higeshige:20180524030037j:image

ブロックチェーンに対する攻撃に『51%攻撃』というものがあります。悪意のあるマイナーがブロックを分岐させ大きな計算力を武器に不正を働き、仮想通貨を強奪するというもの。近年ブロックチェーンは素晴らしい技術だと言われるようになりましたが同時に次々と事件も起きています。

 

ブロックチェーンではハッシュ関数による計算が行われ、取引データが暗号化された状態でブロックに収められ最後に承認作業が行われる。という作業が繰り返されブロックがチェーンのように繋がっていきます。

 

ハッシュ関数の計算結果に対する改ざんは事実上不可能と言われていますが、最後の承認方法に不正への抜け道があるということなのです。

 

この攻撃により

  • 採掘の独占
  • 二重支払い

が可能となり、攻撃者は仮想通貨をまんまとせしめるのです。

 

ブロックチェーンの分岐

まずブロックが分岐する場合の流れを簡単に説明すると次のようになります。

 

ブロックチェーン上のブロックは、複数のマイナーが行った計算の中で一番最初に解いたものが承認され新たに追加されていきます。

f:id:higeshige:20180609124125j:plain


計算が終わると「できました!」と手が挙がります。

 

この計算が複数で同時に終わった場合はいくつも手が挙がり、ブロックチェーンは複数のブロックに分岐することになりますが、そのまま計算が継続されます。

f:id:higeshige:20180609124126j:plain

 

いずれハッシュレートの大きい(計算総量の半分以上つまり51%以上)ブロックの方が承認され新たにブロックチェーンに組み込まれていきます。

 

チェーンが長くなった方を採用するというのがブロックチェーンのルールですので、今ブロックが組み込まれて長くなったチェーンが正式に採用され、もう一方は破棄されます。

 

51%攻撃

これがブロックが同時に生成された場合の流れですが、ハッシュレートを51%以上持つことができれば自分の不正なブロックをチェーンに組み込むことができて採掘を独占できてしまうということがわかります。

f:id:higeshige:20180609124127j:plain

51%以上のハッシュレートを持った悪意のあるマイナー(採掘者)が不正なブロックを作りブロックチェーンを分岐させたあと自分たちのチェーンを正しいチェーンにしてしまうのです。

 

また二重支払い(一度支払ったコインを使って別の相手に支払うこと)が可能となります。 

例えば、Aさんが持っている仮想通貨を取引所に送金し、その後またAさんが同じ仮想通貨を自分のウォレットに送金したとします。通常Proof of Work(PoW)によってネットワーク参加者全員に監視されていますのでこのような不正は承認されません。

f:id:higeshige:20180609124128j:plain

ところが、ネットワーク参加者とは計算力のあるマイナーの集まりであるという事を頭に入れておくと、悪意のあるものが大きな計算力(つまり51%以上の計算力)を持つと不正があっても承認することが可能になってしまうのです。

 

これらが51%攻撃です。

 

過去にVerge(ヴァージ)が攻撃の対象に。

実際は51%ものハッシュレートを持つことは大変難しいことのようです。

ビットコインのノード数を下記サイトで見ることができます。10,000弱(2018.5.24現在)あります。(ノード:仮想通貨のネットワークに参加する全ての端末のこと。)

bitnodes.earn.com

 

また同サイトでライブでノードの状況を見ることもできます。私は「へ~~ぇ」ぐらいで眺めてました笑。

bitnodes.earn.com

 

また51%攻撃を行って仮想通貨の報酬を受け取ったとしても、この攻撃により市場が混乱して価格が暴落することなどが考えられ犯罪者にとって大きなメリットがないと考えられていました。

 

しかし2018年4月に仮想通貨Verge(ヴァージ)が攻撃を受け、さらに5月にも再攻撃を受けています。

 

新たにBitcoinGold(ビットコインゴールド)も攻撃の対象に!

またBitcoinGold(ビットコインゴールド)も同じ時期に攻撃を受け20億円の被害が出たと報じられています。

 

最近立て続けに不正が起きていますが、仮想通貨自体が崩壊してしまうなどという大きなことになってしまわないかすごく心配です。。。

 

関連記事

モナコインのブロックチェーンへの攻撃。これは「Block withholding attack」というものでした。

www.higeshige.com

 

そもそもブロックチェーンってなんですか?を解説してます!

www.higeshige.com

 

では!