ブロックチェーンの脆弱性
Fake Stake攻撃という言葉を聞いたことがあるでしょうか?Fake Stake攻撃は2019年に新たに発表されたブロックチェーンへの攻撃手法で、UXTO型PoS系の仮想通貨が対象となります。攻撃に必要な資金が少ないという特徴があり、今後、対象通貨に被害が生じる恐れもあるため、ぜひチェックしていただければと思います。
Fake Stake攻撃とは
Fake Stake攻撃とは、ある仮想通貨ネットワークのP2Pで接続されたノードに対し、大量のブロック情報を送り付けることで、リソース枯渇を引き起こす攻撃のことです。2019年1月23日に、アメリカのオンラインメディアであるMediumで投稿されました。この脆弱性は、米イリノイ大学アーバナ・シャンペーン校 電気・コンピュータ工学科のDecentralized Systems Labで発見されたものです。
UTXO型PoS系の仮想通貨が攻撃対象
この脆弱性は、PoS(Proof of Stake)を採用している仮想通貨のうち、ビットコインで用いられるUTXO(Unspent Transaction Output)という管理方法を採用している仮想通貨が対象となります。
UTXOは日本語では「未使用トランザクションアウトプット」などと呼ばれています。UTXOを用いた管理方法は、アカウントの残高をそのままデータとして管理・記録するのではなく、取引データのみをもとに残高を計算する仕組みです。
UTXOは、ブロックチェーンに記録されている未使用のトランザクションのことを指します。トランザクションには仮想通貨の着金と送金を記録する箇所がありますが、UXTOは着金のみ記録されます。UXTOは、UXTOの正当性を検証する仕組みが不十分な場合があり、Fake Stake攻撃はその点を利用した攻撃です。
Fake Stake攻撃はわずかな資金で攻撃が可能
Fake Stake攻撃の特徴は、わずかな資金で攻撃が可能となってしまう点です。攻撃を成立させるためには、大量のトランザクションが必要となりますが、攻撃者が所有するウォレット間で送金を繰り返すことで、大量のトランザクションを作成することができます。これは少量の資金で可能となるため、悪意のある攻撃者にとって、攻撃のハードルが低いという危険性があります。
ブロックチェーン取引に対する攻撃として、51%攻撃というものが知られています。これは悪意を持った集団や個人が、ネットワーク全体の採掘速度の51%以上を支配して、不正ブロックを作成し、トランザクションの二重送金をする攻撃方法です。このような攻撃の場合、50%以上の採掘速度を確保するには非常に大きな資金が必要となります。
Fake Stake攻撃は、トランザクションを操作して不正な取引を行うといったやり方ではなく、マイニングに参加しているネットワークノードをクラッシュさせてしまうため、コインを大量に保有する必要がなく、資金面でのハードルは大きく下がります。
ブロックチェーンの堅牢性を語る上で脆弱性を知ることは必須
本記事執筆時点で、Fake Stake攻撃の具体的な被害は報告されていません。しかし、これまでご説明した通り、少ない資金で、かつ比較的シンプルな方法で攻撃が可能であるため、注意が必要です。Fake Stake攻撃に影響がある仮想通貨を利用している方は、各通貨の今後の動向を注意深く見守る必要がありそうです。