仮想通貨業界に衝撃的なニュースが報じられました。
モナコイン(MONA)が攻撃に遭い、re-org(巻き戻し)というブロックチェーンの再編成が起こり、取引所が被害に遭ったとのこと。
このニュースがかなり衝撃的なのは被害額ではありません。
問題なのは、モナコインの「ブロックチェーンの仕組み自体に対する攻撃」という点です。
どういった手口なのかを簡単に解説していきます。
PoW(プルーフオブワーク)の弱点がつかれる
モナコイン(MONA)のブロックチェーンへのデータ記帳作業は、PoW(プルーフオブワーク)という方式が使われています。
これは、ブロックチェーンの記帳作業をする際に、承認者を誰にするかを決める上でマシンの計算能力「ハッシュパワー」が競われるというものです。
このハッシュパワーが全体のパワーに対して割合が大きければ大きいほど、承認できる(ブロックを生成する)確率が上がるということです。
仮に全体のハッシュパワーの半分以上のシェアを持っていると、理論上は取引の承認権を独占できるという点は以前から懸念されていました。
全体のハッシュパワーと難易度調整期間の短さもポイント
モナコイン(MONA)は、ブロックチェーンを維持する全体のハッシュパワーが小さく、主導権を握れるだけのハッシュパワーを作りやすかったという点があります。
そして難易度調整期間が短いという点も挙げられています。
難易度調整というのは、ブロック生成時間を調整する役割があります。
モナコイン(MONA)のブロック生成時間は約90秒です。
例えば、急激にハッシュパワーが上がると、計算能力が高くなるため、問題を解くスピードが上がります。
つまり90秒という時間をかけずにブロックが承認されるわけです。
逆にハッシュパワーが小さくなると、計算能力が低くなり、問題を解くのに時間がかかります。
そうするとブロックを承認するまでに90秒以上がかかってしまいます。
この90秒というブロック生成時間を守るために、「ハッシュパワー(計算能力)」と「計算させる問題の難しさ」のバランスを保つのが難易度調整です。
モナコイン(MONA)は1ブロックごとに難易度が調整されるため、急激なハッシュパワーの変化には強いわけですが、今回のようにたまたま難易度が低い時に攻撃をしかけた場合、攻撃が容易になるという欠点があるようです。
どんな攻撃だったのか?
今回のモナコインへの攻撃は「Block With holdig Attack」と言われています。
簡単に説明すると、裏帳簿を作った上で、一定期間は表の帳簿を付け続け、タイミングを見計らって表の帳簿と裏帳簿を入れ替えるというイメージになります。
これは、一つの組織のハッシュパワーが全体よりも高く、有利な条件がある時に可能になります。
この攻撃で被害に遭ったのは「Livecoin」という取引所です。
犯人のマイナーは裏帳簿のブロックを表には出さず、取引所にモナコイン(MONA)を送金します。
表の帳簿にはその送金履歴が記帳され、その後、いくつかのブロックが生成されると、その取引は承認されます。
取引が承認されるとモナコイン(MONA)を他の通貨等に換金します。
その後、隠し持っていた裏帳簿をブロックチェーン上に公開すると、表の帳簿よりもブロック数が多い裏帳簿の方が「正しい帳簿」と判断され、表の帳簿は消えてしまいます。
取引所からしてみると、確かにモナコイン(MONA)の入金が確認できたのに、突然その記録が消えてなくなってしまい、換金された分だけ吐き出しという形になるわけですね。
今後の対策と各取引所の対応について
今回の事件を受けてどう対策をするのか、という点についてモナコインの開発者のワタナベ氏は「PoWである以上避けられない問題であり、有効な手段はない」としています。
同時に「PoWからPoS等への移行も視野に入れる」と述べています。
各取引所は入出金の停止と承認ブロック数を増やして対応
日本国内でモナコイン(MONA)を扱っている取引所は被害は受けていないものの、モナコイン(MONA)の入出金を停止する、もしくは、承認に必要なブロック数を増やすことで対応しているようです。
モナコインにおいて Reorg が発生したことを受け、お預入に必要な承認数を一時的に上げました。
本事象に関しまして、お客様の資産に影響はございませんのでご安心ください。— bitFlyer(ビットフライヤー) (@bitFlyer) 2018年5月17日
モナコインにてreorg(巻き戻し)が発生していたため、現在一時的にモナコイン入金に必要な承認数を上げております。
ご迷惑をおかけいたしますが、安全のため、ご理解のほどよろしくお願いいたします。— Zaif – 暗号通貨取引所 (@zaifdotjp) 2018年5月17日
Block withholding attackが検出された為、現在モナコインの入金を停止しております。
ブロックチェーンの安全性が確認され次第、入金を再開致します。
ご迷惑をおかけ致しますが今しばらくお待ち頂けますと幸いでございます。— ビットバンク bitbank, Inc. (@bitbank_inc) 2018年5月17日
PoWは危険でPoSは安全という結論は間違い
今回の攻撃は、理論上で可能と言われていたことが現実になったという意味で非常に大きな事件と捉えるべきです。
ですが、PoW(プルーフオブワーク)という方式が危険で、PoS(プルーフオブステーク)等の他の方式が安全という結論にはなりません。
同じような問題はPoSにも存在し、完ぺきなコンセンサスアルゴリズムは存在せず、それぞれにメリットデメリットがあります。
ビットコインは大丈夫?
仮想通貨ビットコインもPoW(プルーフオブワーク)の方式が取られています。
理論上は同じことが起こり得ますが、全体のハッシュパワーの大きさ、分散されている度合い、難易度調整の期間などを考えると、モナコイン(MONA)と同じ攻撃を仕掛けることは不可能に近いと言えます。
今回の事件は、仮想通貨の開発者たちにとって、そして利用者にとっても注目すべきニュースです。
今後も新しい手口で攻撃がされる可能性がありますので、単純に価格の情報だけではなく、自分が投資する仮想通貨がどんな仕組みになっているかも知っておく必要がありますね。
当サイトではビットコインやいくつかのアルトコインを解説していますので、特徴や仕組みを知りたい方はこちらをご参照ください。
⇒「各アルトコインの特徴について詳しくはこちら」