「51%攻撃」とは?仮想通貨の欠陥?


仮想通貨(暗号資産)のリスクの1つとして、51%攻撃と呼ばれるものがあります。

この記事では、51%攻撃について解説します。

51%攻撃とは?

ビットコインなどの仮想通貨では、PoW(プルーフ・オブ・ワーク)と呼ばれる作業があります。

PoWとは、取引の承認を行う作業のことで、計算量を要する問題を最初に解いたコンピュータが承認する権利を得ます。詳しくは「マイニングとは?」の記事で詳しく解説します。

このとき、1つの投票のみで承認するではなく、複数のコンピュータが投票に参加して半数以上(51%と呼ばれるゆえんです)の承認を得た場合に取引が承認されるようになります。

よって、承認を行うコンピュータの半数以上が嘘の承認を行えば、自由に取引が改ざんできるようになります。これが51%攻撃です。

51%攻撃ができると何ができるのか?

二重支払いが可能になる

二重支払いとは、同じ仮想通貨を二重に送金取引で用いることを言います。つまり、一度使われた仮想通貨をもう一度使うことを言います。

例えば、AさんからBさんに1BTCを支払う取引データがあったとします。これをAさんからBさんとCさんに1BTCを支払った、と改ざんすることが二重支払いに該当します。

このとき攻撃者が、AさんからBさんに支払った取引を承認せずに、AさんがCさんに支払った取引を正式なものとして承認すると、Bさんに損害が生じてしまいます。

もしこのような事態が他の取引参加者に知られることとなると、該当する仮想通貨を誰も信用しなくなるため、最悪の場合はその仮想通貨自体の価値が0となってしまいます。

二重支払いの詳しい説明はこちらをご覧ください。

取引の承認が独占できる

過半数のシェアをとると、取引の承認が独占できるため、攻撃者側が自由に取引の承認を行うことができます

二重支払いと同様に、取引の承認が独占されると信用が落ちます。

51%攻撃ではできないこと

過去の取引を改ざんする

過去の取引を改ざんするためには、マイニング参加者全員がもつデータを全て改ざんしなければならないため、現実的にはほぼ不可能です。

51%攻撃でできることは、過去ではなく、現在の取引を改ざんすることだけです。

他人の仮想通貨を盗む

たまに勘違いされますが、他の人のウォレットから仮想通貨を盗むことはできません。

ウォレットの管理には、パスワードに相当する「秘密鍵」が必要です。過半数のマイニングシェアをとったとしても、この秘密鍵が流出しない限りはウォレットは安全です。

51%攻撃は起こりうるか?

実際には51%攻撃を仕掛けるためには大きな計算リソースが必要であり、成功したとしてもその仮想通貨が信用を失って価値がなくなってしまうため、攻撃者にとってほぼメリットがなく、このリスクはほぼ0だと考えられています。

ただし、過去には51%攻撃が生じたことがあり、油断できるものではありません。

51%攻撃の過去事例

モナコイン、ビットコインゴールド、イーサリアムクラシックで生じた事例があります。

モナコイン

2018年5月、ロシアの取引所で時価額約1000万円のモナコインが被害にあいました。

厳密にはこの事件は51%攻撃ではありませんが、概念自体はかなり近い「セルフィッシュ・マイニング攻撃」と呼ばれる手法が用いられました。これは最大33%程度で攻撃が可能となるものですが、概念自体は51%攻撃と同じです。

犯人は取引所でモナコインを購入した後、別の仮想通貨に交換して出金しました。その後、入金の履歴を消しました。結果的に仮想通貨だけが引き出されてしまいました。

これは、取引所の対策が不十分で、十分な入金確認時間を経ずに入金されたと判定してしまったことが原因で、犯人はこの履歴を消したことで、仮想通貨だけを引き出すことができました。

ビットコインゴールド

2018年5月、ビットコインゴールド開発者のエドワード・イスクラ氏が、ビットコインゴールドが51%攻撃を受けたことを明らかにしました。

ある取引所から、他の取引所とウォレットの2か所に送る二重支払いが生じ、約1800万ドル相当のビットコインゴールドが失われました。

イーサリアムクラシック

2019年1月に仮想通貨取引所のコインベースがイーサリアムクラシックで二重支払いが生じたと発表しました。

その後、被害分が返金されたため、これはホワイトハッカーが脆弱性を知らせるための犯行だったと思われています。