国産の仮想通貨である「モナコイン」が、「Block withholding attack」「Selfish Mining」と呼ばれる大規模攻撃でブロックチェーンが書き換えられてしまい、直近のトランザクションが消失した。ブロックチェーンの改ざんが成功した例は世界でも類を見ない。各仮想通貨取引所は、モナコインの入出金に必要なブロックの承認数を一時的に引き上げたり、入出金を一時停止するなど対応に追われている。



Monacoin Projectの公式サイト Monacoin Projectの公式サイト

モナコインは、巨大掲示板サイト「2ちゃんねる（現5ちゃんねる）」で生まれた仮想通貨で、Litecoinをベースにした完全分散型の決済システム。巨大掲示板発祥ということもあり、コミュニティベースでの活動が活発で、ユニークなサービスが有志で開発されているほか、秋葉原を中心に一部のPCパーツショップなどの決済手段としても利用できる。大手仮想通貨取引所でも取り扱いされており、人気通貨の一つだ。

銀行などの中央管理者が存在しない仮想通貨では、トランザクションが正しい取引かを承認するために、コンセンサスアルゴリズムを実装している。モナコインでは、ビットコインと同じく「PoW（Proof of Work）」という手法を用いており、複数のマイナー（取引が正確かを計算リソースを提供して検証する人々）で膨大な計算処理のスピードを競わせ、もっとも早く完了したノードに、チェーンに接続する新しいブロックを生成する権利を与える。そして、膨大な計算リソースを提供した報酬として、通貨が支払われる。

通常、マイナーは採掘したブロックをネットワークにブロードキャストするのだが、今回、一部のマイナーが、採掘したブロックを隠し持ったまま次々にブロックを掘り進めてチェーンを生成し、他のチェーンより長く生成したタイミングでネットワークにブロードキャストしている。PoWでは、マイナーによるチェーンの分岐を無効化するため、最も長いチェーンがメインのチェーンになるようルールが定められているが、分岐したチェーンがさらに長くなることで置き換えられてしまい、直近のトランザクションが消失してしまう。

攻撃者は、直近のトランザクションが消えてしまう性質を利用し、自身が保有していたモナコインをチェーンの書き換え前に取引所に送金し、すぐに出金する。その後、ブロックチェーンを書き換えることで送金履歴が消失し、送金されたはずのモナコインが取引所には存在しないことになるため、すでに出金処理した取引所は、出金額分の被害を受けてしまう。ビットコイン研究所ブログによると、Livecoinという海外の取引所がターゲットとなり、被害額は1000万円程度と推計している。

当面の回避策として、取引所ではブロックの承認数を引き上げることでチェーンの確度を上げ、安全性を高めようとしている。例えば、30ブロックなどひとまとまりのブロックが進んだら、ユーザーからの入出金などを承認する。ブロックの承認数が多いほど、ブロックでトラブルがあった場合でもトランザクションの処理を防ぐことができる。一方で、ブロックの生成時間分待ち時間が発生するため、ユーザーの入出金が反映されるまで時間がかかってしまう。

分岐したチェーンは24ブロック目まで進み、チェーンのreorg（再編成）が発生している。大手取引所の広報担当者は、「承認数を通常よりも多くすることで、間違ったブロックに巻き込まれないように保護する」と説明している。Monacoin Projectの公式アカウントも、「現状ではサービス提供側で入金の承認数を上げる以外に有効な手段はありません」とツイートしている。

モナコインにおいて Reorg が発生したことを受け、お預入に必要な承認数を一時的に上げました。

本事象に関しまして、お客様の資産に影響はございませんのでご安心ください。 — bitFlyer（ビットフライヤー） (@bitFlyer) 2018年5月17日

Block withholding attackが検出された為、現在モナコインの入金を停止しております。

ブロックチェーンの安全性が確認され次第、入金を再開致します。

ご迷惑をおかけ致しますが今しばらくお待ち頂けますと幸いでございます。 — ビットバンク bitbank, Inc. (@bitbank_inc) 2018年5月17日

モナコインにてreorg（巻き戻し）が発生していたため、現在一時的にモナコイン入金に必要な承認数を上げております。

ご迷惑をおかけいたしますが、安全のため、ご理解のほどよろしくお願いいたします。 — Zaif - 暗号通貨取引所 (@zaifdotjp) 2018年5月17日

ハッシュパワーが集まるほど、ブロックチェーンの安全性は高まる

なお、今回のハッキング被害は、コインチェックによるNEMの流出事件など、取引所へのハッキングと性質が異なる。取引所が所有する仮想通貨をシステムの脆弱性を利用して盗み出すハッキングの場合、取引所の管理態勢に問題があり、ブロックチェーン自体には異常はなかった。しかし、今回のSelfish Miningは、改ざんできないと言われていたブロックチェーンの信頼性にかかわるもので、モナコイン以外の仮想通貨にも発生するリスクがある。

Selfish Miningは、全体のハッシュパワー（マイニング処理能力）の33％以上を持つことで、マイナー自身で最長のチェーンを生成し続けられると言われている。ただし、これは理論上の話であり、一部の悪意のあるマイナーが別のチェーンを生成させた場合でも、大半のマイナーがメインのチェーンでブロックを生成するため、チェーンの書き換えを防ぐことができるとされている。

PoW通貨として最も有名なビットコインでも、ハッキングは数多く発生しているとされているものの、世界中から数多くのマイナーが参加し、膨大なハッシュパワーが集まるため、全ハッシュパワーの33％を1グループが押さえることは不可能に近く、ビットコインが誕生してから9年間、一度もハッキング被害を受けていない。PoWのコインにおいて、ハッシュパワーが集まるほどブロックチェーンの安全性は高まると言える。

ブロックチェーン開発を手掛けるとある技術者は、モナコインが狙われた理由として幾つかのポイントを挙げる。まず、昨今の仮想通貨の盛り上がりで、モナコインのハッシュレート（マイニング処理能力を示す単位）に対して時価総額が膨れあがってしまい、攻撃インセンティブが働いたことや、マイニングプール（複数のハッシュパワーを束ねて計算力を高める集まり）などでハッシュパワーが一部に集中していた可能性があるという。ハッシュレートが低いということは、マイナーが相対的に少なく、ハッシュパワーが一部に集中しやすい環境だったともいえる。また、コインの時価総額が増大した背景も、仮想通貨市場における投機マインドの高さが一つの要因と言えるだろう。

Monacoin Projectの公式アカウントでは、「PoWコインである以上避けられない問題でもあるので、PoS等への移行も視野に入れていく必要があると考えています」と述べている。PoS（Proof of Stake）は、ブロックチェーンに最新のブロックを生成する権限を、ハッシュパワーから資産量に変更したアルゴリズムで、資産量が多いノードほど計算量が少なくなる。ハッシュパワーが必要となるPoWと異なり、PoSではマイニングにかかる消費電力を抑えることができるほか、チェーンを改ざんするには相当数の仮想通貨を所持する必要があり、もし攻撃した場合でも、自らが保有する資産が減ってしまうため、高い改ざん耐性を持つとされている。

現状ではサービス提供側で入金の承認数を上げる以外に有効な手段はありません。

PoWコインである以上は避けられない問題でもあるので、PoS等への移行も視野に入れていく必要があると考えています。 — monacoinproject (@tcejorpniocanom) 2018年5月17日

なお、PoW通貨の一種であるイーサリアムでは、PoWとPoSを融合した「Casper FFG」など、PoSへの移行を発表している。ブロックチェーンの合意形成をつかさどるコンセンサスアルゴリズムについて、さまざまな議論が進むものと思われる。