無意識に踏む追跡の罠|ダスト攻撃で取引所BTCが危ない理由
ある日、ウォレットを開いたら見覚えのない少額のBTCが届いていた。金額にすれば数十円から数百円程度。誰かの誤送金だろうと思い、次の出金のときそのまま使ってしまう。その瞬間、攻撃者の罠が完成する。
ダスト攻撃の設計思想
ダスティング攻撃とは、攻撃者が大量のビットコインアドレスへ微量のBTCを自動送付する追跡手法だ。1回の攻撃で数十万〜数百万のアドレスへ一斉に送信でき、1アドレスあたりのコストは極めて低い。自動化ツールで展開できるため、攻撃者にとってリスクとコストのバランスが非常に良い手法になっている。
重要なのは、この攻撃の目的が「送った少額BTCを回収すること」ではない点だ。攻撃者が狙うのは行動のトリガーであり、あなたが次に出金する、まさにその瞬間だ。
UTXOが作る連鎖
ビットコインのUTXO(未使用取引出力)モデルでは、送金時に複数のUTXOを組み合わせて使う仕組みがある。手数料の最適化のため、ウォレットは自動的に複数のUTXOをまとめてトランザクションを構成する。
ここにダストが仕掛けられている。出金時にウォレットがダストUTXOを他の正規UTXOと束ねると、1つのトランザクションに複数アドレスのUTXOが混在する。チェーン分析の世界では「同じトランザクションで使われたUTXOは同一人物のもの」という推定原理(CIOH:Common Input Ownership Heuristic)が機能する。
この推定によって、ダストが届いたアドレスと出金元の他のアドレスが紐付く。過去のすべての受け取りアドレス、残高の規模、資金の流れが1つのクラスターとして可視化される。KYCを経た取引所口座がどこかで連鎖していれば、実名・住所まで照合が届く。
凍結という選択
セルフカストディウォレットにはCoin Controlという機能がある。SparrowウォレットやBitcoin CoreではUTXOを個別に選択・凍結できる。凍結したUTXOは自動でトランザクションに含まれない。
ダストが届いたら、まず凍結する。この判断ができれば、ダストは永遠に「使われない記録」のまま残る。追跡は始まらない。アドレスのクラスタリングも起きない。
凍結という操作は技術的に難しいものではない。問題は「その操作権が誰にあるか」だ。
取引所にはその判断ができない
取引所にBTCを預けている場合、ユーザーは出金先アドレスを指定できるが、どのUTXOを使うかは取引所のシステムが決める。複数ユーザーの資産が混在する取引所のウォレットでは、UTXOの個別管理はユーザーには開放されていない。
仮に取引所のウォレットへダストが送り込まれていても、そのUTXOを凍結する操作権はユーザー側にない。出金のたびに、どのUTXOが使われるかを把握する手段もない。攻撃者はダストを仕掛けた後、取引所から出金が行われる瞬間を待つだけでいい。
さらに、取引所に預けているBTCはユーザー固有のアドレスが割り当てられていないケースも多く、この構造がCoin Controlという概念を最初から無効にしている。秘密鍵がない環境では、UTXOレベルの操作権自体が存在しない。
攻撃は今も続く
ダスティング攻撃は過去の手法ではない。低コストで自動化でき、発覚しにくく、被害者が気づいた時点では既に追跡データが蓄積されている。Chainalysisのような商業チェーン分析企業はこうした手法で収集したデータを製品として提供しており、取引所のKYC情報と組み合わせれば実名特定まで直結する。
セルフカストディを選んだ人にはCoin Controlという手段がある。届いたダストを認識し、凍結し、自分のアドレスクラスタリングを防ぐ選択ができる。
取引所にBTCを預けている間は、その判断を自分で下す機会が存在しない。どの攻撃が仕掛けられたか、何が混在したか、何が使われたか、ユーザーには見えない。知っている人だけが守られる構造が、ここにも存在する。
まずはセルフカストディウォレットを用意し、受け取るたびにUTXOを確認する習慣から始めてほしい。
※本記事は一般的な情報提供を目的としており、投資助言ではありません。
この記事が参考になったら、セルフカストディの具体的な始め方もチェックしてみてください。
LINE登録でセルフカストディの始め方を学ぶ 正しい手順を無料でお届けします