ダブルスペンディング攻撃(二重支払い攻撃)とは、仮想通貨(暗号資産)において、同じ資産を複数の取引に不正に使用し、利益を得ようとする攻撃手法です。
ダブルスペンディング攻撃は、潜在的なインフレ、盗難、そして仮想通貨システムの信頼低下につながる可能性があります。ユーザーが取引の正当性を確認できない状況では、分散型金融システム全体の信頼性が損なわれかねません。
ダブルスペンディング攻撃(二重支払い攻撃)とは?
ダブルスペンディング攻撃(二重支払い攻撃)は、ビットコインやイーサリアムに代表される仮想通貨の基盤を揺るがす重大な脅威です。ダブルスペンディング攻撃は、仮想通貨がデジタルデータであるという性質を悪用します。理論上、デジタルデータは容易にコピーできるため、攻撃者は同じ仮想通貨を複数回使用しようと試みます。
攻撃者はまず、受信者に仮想通貨を送金します。同時に、同じ仮想通貨を使って自分が管理する別のアドレスにも送金する取引を作成します。攻撃者の目的は、不正な取引(自分への送金)をネットワークに承認させることです。そのため、正規の取引よりも速く不正な取引をネットワーク全体に広めようとします。
上記のような攻撃を防ぐため、ブロックチェーンにはコンセンサスメカニズムが組み込まれています。同じ仮想通貨の二重使用を困難にし、システムの信頼性を維持しているのです。ダブルスペンディング攻撃の防止は、仮想通貨システムの健全性を保つ上で極めて重要な課題となっています。
ダブルスペンディング攻撃(二重支払い攻撃)の種類
ダブルスペンディング攻撃(二重支払い攻撃)の種類は、以下のとおりです。
- フィニー攻撃(Finney Attack):攻撃者はビットコインマイニングなどで新しいブロックをマイニングし、中に自分の仮想通貨取引を含めておきます。その後、攻撃者は同じ仮想通貨を使って別の取引を行い、最初のブロックをネットワークに公開して二重支払いを実現しようとします。
- レース攻撃(Race Attack):攻撃者が、同じ仮想通貨を使ってほぼ同時に2つの異なる取引を送信し、1つの取引が確認される前にもう1つの取引を承認させようとする攻撃です。
- ベクター76攻撃(Vector76 Attack):フィニー攻撃とレース攻撃の要素を組み合わせた攻撃です。攻撃者はプロトコルの脆弱性とブロック伝播の時間差を悪用します。2つの競合する取引を作成し、片方の取引を送信しながら、同時に別の取引を送信することで、二重支払いを試みます。
- 51%攻撃(51% Attack):攻撃者がネットワークの計算能力(ハッシュレート)の過半数を制御することで、取引履歴の改ざんや仮想通貨の二重使用が可能になります。
ダブルスペンディング攻撃(二重支払い攻撃)の歴史
ダブルスペンディング攻撃(二重支払い攻撃)の問題は、仮想通貨の誕生以前から存在していた課題で、分散型システムにおける信頼性の確保という根本的な問題を示しています。
問題の複雑さを説明するために、よく「ビザンチン将軍問題」という例え話が使われます。お互いに離れていて直接会えない将軍たちが、どうやって攻撃計画の意見を一致させるかという難問です。ネットワーク全体の合意を達成する上で、仮想通貨が直面する根本的な課題を浮き彫りにしています。
ダブルスペンディング攻撃は、すべて阻止されたと多くの人が信じていますが、誤った認識です。実際に起きたダブルスペンディング攻撃の事例は、以下のとおりです。
- Bitcoin Gold 51%攻撃(2018年):悪意のある攻撃者がネットワークの計算能力の過半数を制御し、1800万ドル以上の価値があるBitcoin Goldを二重に使用しました。マウントゴックス事件と比類するほどの衝撃を与えた事件です。
- Verge(XVG)攻撃(2018年):Vergeに対して行われた複数の攻撃は、コードベースの脆弱性が原因で発生し、大きな経済的損失が発生しました。
- イーサリアムクラシック攻撃 (2019年):51%攻撃により約110万ドル相当のETCトークンが二重に使用され、一部の仮想通貨取引所はイーサリアムクラシックの取引を一時停止しました。
ダブルスペンディング攻撃(二重支払い攻撃)への対策
ダブルスペンディング攻撃(二重支払い攻撃)に対する主な対策方法は、透明性のある分散型台帳システムと暗号化セキュリティの融合です。全取引は公開されており、マイナーによる検証後は不可逆かつ改ざん不能となります。
さらに追加で対策を施すにより、ネットワークの堅牢性をさらに強化することが可能です。
- 複数回の確認:トランザクションを複数回確認すると、リスクを大幅に軽減できます。
- ネットワークハッシュレートの向上:計算能力の高いネットワークは、51%攻撃を受ける可能性が低くなります。
- 高度なコンセンサスメカニズムの採用:プルーフオブステーク(PoS) または委任型プルーフオブステーク(DPoS) は、攻撃に対するセキュリティを強化します。
- 最小確認回数ポリシーの実装:ゼロ確認トランザクション(取引がまだブロックに含まれていない状態の取引)のリスクを軽減できます。
結論
ダブルスペンディング攻撃(二重支払い攻撃)は、ビットコインをはじめとする、あらゆるデジタル通貨の信頼性にとって大きな脅威です。仮想通貨やパーミションレスブロックチェーンが広く採用され、信頼されるための核心的な課題と言えるでしょう。
ブロックチェーン技術は、コンセンサスメカニズムと暗号化を組み合わせることで、課題を解決しつつあります。しかし、まだ完璧な状態とは言えません。技術が進歩するにつれてセルフィッシュマイニング攻撃やクリプトダスティング攻撃などの新たな脅威も現れるため、コミュニティは常に注意を払い、新しい対策を行う必要があります。
金融に関わるシステムは、信頼が何より重要です。ダブルスペンディング攻撃を理解し、適切な対策を練ることが、最も重要な課題となっているのです。