モナコインのブロックチェーンが「Block Withholdig Attackの攻撃」を受けた事件

5月13日~5月15日頃にかけて、モナコイン(Monacoin)のブロックチェーンが「悪意あるマイナー(採掘者)」からの攻撃を受けて、取引所Livecoinから「架空入金したモナコインと交換した別の仮想通貨(1,000万円相当)」が不正に引き出される事件が起こりました。このモナコイン攻撃によって、モナコインは「大規模なブロックチェーンの再編成(ブロックの巻き戻し)」を余儀なくされており、取引データの改ざんが不可能に近いほど困難と言われていたブロックチェーンの信頼性が揺らいだ印象を与えています。モナコインのブロックチェーンが受けた不正な攻撃は「Block Withholdig Attack」と呼ばれているもので、その攻撃手法そのものは2013年時点で指摘されていました。

Block Withholdig Attackは、「公開していない秘密のブロック」を隠し持つ攻撃手法です。強力なハッシュパワーを保有している「悪意あるマイナー」が、他のマイナーのブロック承認を覆せるだけの高い計算量のシェアを活用して、事後的に「最長チェーン(正しいとされるチェーン)の置き換え」をしてしまうというものです。悪意あるマイナーはP2Pネットワークに公開していない「秘密のブロック」を承認しながら掘り進めていて、その一連のブロックチェーンを隠し持っているわけです。「他のマイナー集団よりも圧倒的に強いハッシュパワー(全体計算量の高シェア)」を持っている場合に、事後的に最長チェーンを「隠し持っていた秘密のブロック」で置き換えることができ、自分に有利な不正データ(モナコイン送金データの取り消し等)を正しいデータとして記録できるのです。

ビットコインゴールド・Vergecoinのブロックチェーンも「51%攻撃」などで不正にコインを引き出されていた

Block Withholdig Attackの攻撃手法の原理は、意図的に他のマイナーの採掘行為(ハッシュ値計算)を妨害して収益性を高めようとする「セルフィッシュマイニング(Selfish mining)」にも応用することができます。ブロックチェーンにPoWのコンセンサスアルゴリズムを採用している仮想通貨では、特定マイナーのハッシュパワーのシェアが高ければ高いほど、「悪意ある攻撃(ハッキング)の成功率」が上がってくるのです。モナコイン以外にも、昨年10月にビットコインからハードフォーク(分岐)したビットコインゴールド(BTG)が、悪意あるマイナーから「51%攻撃(マイニングの全体計算量の51%以上のシェアを持つマイナーによる攻撃)」を受けてブロックチェーンが書き換えられたと報じられています。

匿名仮想通貨として一部で将来性が期待されている草コインのVergecoin(バージコイン, XVG)でも、モナコインと似たBlock Withholdig Attackの攻撃手法で不正な取引が行われていたことが分かっています。Vergecoin(XVG)は「I2P(The Invisible Internet Project:不可視インターネットプロジェクト)」によって、P2P通信の始点と終点を匿名化する強いプライバシー保護機能を持った匿名仮想通貨ですが、ビットコインやイーサリアムなどのメジャーな仮想通貨と比べてマイニングのためのハッシュレートが低く、マイナー数も少ないという「PoWのセキュリティーの脆弱性」があります。ブロックチェーンにおけるPoWのセキュリティーは、マイナーのハッシュパワーが分散しておらず、中央集権的になればなるほど破られやすくなるのです。

ブロックチェーンの承認に採用されることの多い「PoW」のコンセンサスアルゴリズムに潜む弱点

PoWチェーンが「51%攻撃」を受けるリスクとハッシュパワー分散の重要性ビットコイン(BTC)もブロック承認のコンセンサスアルゴリズムとしてPoWを採用していますが、複雑なハッシュ関数(nonse)の計算をするハッシュパワーにブロック承認を依拠する「PoW(Proof of Work:仕事の証明)」のブロックチェーンには「51%攻撃」の潜在的リスクがつきまといます。PoWではマイニング全体の計算量の51%以上を保有する強力なマイナー(高性能マシンのハッシュパワー)が存在する場合、ブロックチェーンを自由あるいは不正に書き換えられる独占的権限を握られてしまうリスクがあるのです。

PoWのブロックチェーンが、強力なハッシュパワーを持つ悪意あるマイナーから「51%攻撃」を受けてしまうと、「マイニング報酬を独占される・正しい取引データのブロック承認を妨害される・不正な取引データのブロック承認が進められる」といった致命的問題が起こるリスクがあるわけです。そうなると、仮想通貨の資産価値・決済機能は失われ、ブロックチェーンの取引データの信頼性も損なわれてしまいます。今まで仮想通貨というとマイナー数が非常に多いビットコイン(BTC)を想定していることが多く、マイニング分散度の高いビットコインであれば、「51%攻撃のリスク」は理論的には有り得ても、現実的に「51%攻撃に必要なハッシュパワー」を一人・一企業(少数)で集めることは不可能とされてきました。

なぜモナコインのブロックチェーンが狙われたのか?:ブロック生成速度・難易度調整・確率的finality

モナコインのブロックチェーンはBlock Withholdig Attackを受けて、「正しいブロックチェーンの消去(モナコインの取引所への入金データの取消し)」を許してしまいました。これは視点を変えれば、「長いブロックチェーンを残して短いブロックチェーンを消去する再編成(リオーグ)を悪用した攻撃」であり、マイニングのネットワークの中で突出したハッシュパワーを保有していれば、「長いブロックチェーンを隠し持つことができること(勝手にブロックを大量生成できること)」を実証してしまったわけです。一般的に、PoWのブロックチェーンはマイニング全体の51%以上のシェアを持つことで自由に書き換えられる「51%攻撃」が知られていますが、Block Withholdig Attackやセルフィッシュマイニングであれば「約33%のシェア」で攻撃が可能とされています。

色々な仮想通貨がある中でモナコインが狙われた最大の理由は、「ハッシュパワーの総量が小さい(マイニングのシェアを高めやすい)」ということにあります。さらにモナコインのブロック生成速度は「90秒間に1つ」であり、「10分間に1つ」のブロックを生成するビットコインと比べて承認が早いので、秘密裏に大量のブロックを生成しやすい(勝手にブロックチェーンを伸ばしやすい)というセキュリティーホールもありました。

モナコインは1ブロックごとに難易度(ディフィカルティー)の調整が行われるので、難易度の低いブロックを狙って大量に採掘しやすい問題もあります。今回のモナコイン攻撃事件を受けて、各取引所は確率的finality(送金決定に必要な承認回数)のハードルを上げる対抗策を取っています。今までモナコインは6回の承認回数で送金が即座に決定されていたのですが、「30~100ブロックの承認回数」にまで送金の決定基準が引き上げられており、送金速度を遅くすることでBlock Withholdig Attackを受けにくくしています。ブロック生成速度(送金速度)とセキュリティー(攻撃回避)は、両立しづらいトレードオフの関係にあるのです。

ビットコイン(BTC)は「ハッシュレート・マイニング分散度」でBlock Withholdig Attackを防御:PoWチェーンの安全とマイニングの非中央集権性

モナコイン攻撃事件の影響で、ビットコイン(BTC)やイーサリアム(ETH)をはじめとするPoWを採用した他の仮想通貨のブロックチェーンは大丈夫なのかという不安の声も聞かれます。ビットコインもマイニングにPoWの仕組みを利用している以上、理論的には「Block Withholdig Attack(セルフィッシュマイニング)」や「51%攻撃」を受ける可能性はあります。しかし、ビットコインはモナコインやビットコインゴールドなどのマイナーな仮想通貨と比べると、「ハッシュレート(採掘速度)+採掘難易度(ディフィカルティー)」が圧倒的に高くなっています。ハッシュレートの高さは、世界中にいるマイナー数が非常に多いことを意味しており、仮想通貨の理想的状態である「非中央集権性(特定者による独占の防止)+自律分散性」が保たれているのです。

マイニングのハッシュパワーが特定の企業・団体や個人に偏っていないことを示唆する「非中央集権性+マイニングの分散度」は、51%攻撃などのマイニング独占の不正行為に対抗する「PoWチェーンのセキュリティーの高さ」にもつながっています。そのため、PoWのコンセンサスアルゴリズムの脆弱性を突かれた「モナコイン攻撃事件」によって、仮想通貨及びブロックチェーンの信用性がただちに低下するというわけではないのです。特に、ハッシュレート(採掘速度)が高くてマイナーが多いビットコインやイーサリアムなどには、「現実的な攻撃被害のリスク(ブロックチェーン改ざんのリスク)」はまずないので安心しても大丈夫です。仮想通貨やブロックチェーンの仕組みは完全なものではありませんが、「各種コンセンサスアルゴリズムの特徴・長短+各仮想通貨のハッシュレートの高さ・マイナー数の多さ(マイニング分散度)」を正しく理解することによって、自分がどの仮想通貨に投資すれば良いのかの適切な判断もしやすくなるのです。