暗号資産詐欺で資金が盗まれた場合、そのお金がじっとしていることはほとんどありません。数分以内に中継ウォレットを通じて移動し、複数のアドレスに分散され、取引所に到達します。それを追いたい調査員は、すべてのホップで一つの核心的な問いに直面します。盗まれた資金が同じウォレット内の正当な資金と混合した場合、そこから出てくるもののうち、どれだけが依然として「汚染されている」のでしょうか?
テイント分析は、その問いへの答えです。これはブロックチェーンの資金追跡を支える基礎的な技術の一つであり、これを理解することで、現代の調査ツールができること、そしてその限界がどこにあるかがわかります。
このガイドでは、テイント分析とは何か、調査員が使用する三つの手法、そしてイーサリアム上の一つの具体例を説明します。これにより、各手法がどのように動作するかを正確に確認できます。
テイント分析とは何か?
テイント分析は、ウォレットの残高のうちどれだけが既知の不正な資金源から来たものかを推定し、その資金が移動する際にその割合を追跡します。
このアイデアは、シンプルなラベルに基づいています。盗難、詐欺、または制裁対象のアドレスに関連するコインは汚染されているとみなされ、そのような関連のないコインはクリーンとされます。単一のウォレットにはほぼ必ず両方の混合が含まれるため、この技術には送金される資金を汚染部分とクリーン部分に分けるためのルールが必要です。
汚染された資金とクリーンな資金
あるアドレスが詐欺の被害者から盗まれた3,000 USDTを受け取り、別途、通常の取引から7,000 USDTを受け取ったとします。ウォレットには今10,000 USDTが入っており、そのうち3,000が汚染されています。そのアドレスが後に取引所へ9,000 USDTを送金する場合、調査員は送金される9,000のうちどれだけが汚染されているかを判断しなければなりません。異なるルールを適用すると異なる答えが得られ、その選択が以下の三つの手法を区別するものです。
なぜ重要なのか
調査員はこれを優先順位付けに使用します。トランザクションのチェーン全体を凍結することはできないため、下流のどのアドレスが盗まれた資産を保有しており、その量がどれだけかについて、根拠のある推定が必要です。その推定が取引所のコンプライアンスチームと共有されたり、法執行機関へのレポートに含まれたりします。
テイント分析が存在する理由
困難さは、ブロックチェーンが資金を結合する方法に起因します。イーサリアムのようなアカウントベースのチェーンでは、ウォレットの残高は単一の集約された数値であるため、汚染された資金とクリーンな資金が同じアドレスに入ると、財務的に区別がつかなくなります。生のトランザクション記録には、「この9,000 USDTの送金はクリーンなお金ではなく、汚染されたお金を使った」とは書かれていません。
テイント分析は、明示的な会計ルールでそのギャップを埋めます。研究者たちは、Poison(ポイズン)、Haircut(ヘアカット)、FIFO(ファイフォ)と呼ばれる三つの標準的なテイント手法をカタログ化しています。これらのルールは、イーサリアムのようなアカウントベースのチェーンや、ほとんどのトークン盗難が発生する他のEVMネットワークを含む、トランザクションを公開記録するすべてのパブリックブロックチェーンに適用されます。
三つの手法と一つの具体例
三つの手法は、Poison、Haircut、FIFOです。Poisonは汚染されたトランザクションのすべての出力を完全に汚染済みとマークし、Haircutは出力全体にテイントを比例配分し、FIFOは入金の時系列順にテイントを割り当てます。
先ほどのウォレットを例に取ります。イーサリアム上で10,000 USDTを保有しており、そのうち3,000が(被害者からの)汚染されたもので、7,000がクリーンです。このウォレットが取引所のデポジットアドレスへ9,000 USDTを送金します。各手法が送金される9,000をどのようにラベル付けするかを見てみましょう。
Poison:触れるものすべてを汚染する
Poison手法は、汚染された入力を含むトランザクションのすべての出力を完全に汚染済みとして扱います。汚染された部分がどれほど小さくても関係ありません。
この例では、9,000 USDT全額の送金が汚染済みとマークされ、取引所のデポジットアドレスは盗まれた資金を受け取ったとしてフラグが立てられます。問題は明らかです。クリーンな資金が汚染済みとして再ラベル付けされ、新しいウォレットに触れるたびに「汚染された」コインのプールが拡大します。Poisonは最も精度が低い手法であり、調査員は主に実用的な推定ではなく、おおまかなベースラインとして使用します。
Haircut:比例してテイントを付ける
Haircut手法もすべての出力がテイントを持つとして扱いますが、全額ではなく比例した割合を各出力に割り当てます。ウォレットの汚染された部分は10,000のうちの3,000、つまり30%であるため、送金の30%が汚染済みとしてカウントされます。
つまり、9,000のうち2,700 USDTが汚染済みとラベル付けされ、6,300がクリーンとなります。Haircutは、汚染されたお金の総量を膨らませるのではなく保存するため、Poisonよりも現実的です。弱点は、非常に多くのアドレスにわずかなテイントを広げることで、長い追跡がノイズの多いものになる点です。
FIFO:順序でテイントを付ける
FIFO(先入れ先出し)手法は比率を無視し、代わりに順序に注目します。資金はウォレットを、到着した順序と同じ順序で離れます。最初に入金されたものが最初に使われます。
この例では、クリーンな7,000 USDTが汚染された3,000より先に到着しています。FIFOでは、送金の最初の7,000 USDTはクリーンで、次の2,000のみが汚染済みとなります。残りの汚染された1,000がウォレットに残ります。FIFOは最も精度が高く、ノイズが少ない追跡を生み出します。これが、防御可能なブラックリストや証拠レベルのレポートを目的とする際に最もよく使われる手法である理由です。
| 手法 | ルール | 送金される9,000 USDT | 精度 |
|---|---|---|---|
| Poison | テイントがあれば出力全体が汚染済みになる | 9,000汚染済み | 最低 — 汚染プールを膨らませる |
| Haircut | テイントの比例配分 | 2,700汚染済み | 中程度 — 長い追跡でノイズが多い |
| FIFO | 先入れ先出しの順序 | 2,000汚染済み | 最高 — 最もクリーンな追跡 |

同じ9,000 USDTの送金に対して三つのテイント分析手法がラベル付けしている様子。FIFO(ハイライト表示)が最もノイズの少ない追跡を生み出します。
テイント分析にできることとできないこと
テイント分析は強力ですが、確実性ではなく推定であり、誠実なレポートはその限界を知ることに依存しています。
通常の送金やスワップを通じて資金が移動する場合はうまく機能します。しかし三つの状況では困難になります。ミキサーは入金と出金の間のリンクを意図的に断ち切るため、直接追跡ではなく統計的手法でテイントを再確立しなければなりません。高いトランザクション量はテイントを非常に多くのアドレスに広げ、Haircutスタイルの推定が意味を失います。そしてクロスチェーンブリッジは台帳間で価値を移動させるため、追跡は反対側で再びつなぎ合わせなければなりません。

三つの一般的なシナリオにおけるテイント分析の動作。通常の送金はクリーンに追跡され、ミキサーとブリッジはそれぞれテイント分析に加えて追加の技術が必要です。
これらのいずれも追跡を完全に無効にするものではありませんが、ツールが使用する手法と、それがどれほど慎重に適用されるかによって答えが変わる箇所です。
テイント分析と完全な資金追跡
テイント分析と完全な資金追跡は関連していますが、同一ではありません。テイント分析は会計ルールであり、完全な資金追跡はエンドツーエンドの調査です。
テイント分析は、すべてのホップで一つの狭い問いに答えます。汚染された資金を受け取ったウォレットがあるとして、送金のうちどれだけが汚染されているか?これは一つのルールを繰り返し適用するものです。
完全な資金追跡は、調査全体です。盗難トランザクションの特定、各ホップでの按分ルールの適用(必ずしも教科書的なPoison / Haircut / FIFOルールとは限らない)、グラフの歩行、アドレスの実体(取引所、ミキサー、ブリッジ)への帰属、そして誰かが行動できるレポートの作成が含まれます。テイント分析は、アドレスラベリング、クラスター分析、クロスチェーンマッチングと並んで、その作業の中の一つの概念的なレンズです。
アナリストがテイント手法を明示的に適用する場合、証拠レベルのレポートにはFIFOが好まれ、多くのアドレスにわたる探索的分析にはHaircutが、Poisonはまれにしか使われません。
この考え方が現代のツールにどう反映されているか
何千ものトランザクションと複数のチェーンにわたってホップごとの会計ルールを手作業で適用することは現実的ではないため、調査員は資金追跡ツールに依存しています。
BlockSecのMetaSleuthは、この作業のためのアナリスト向けツールです。調査員がグラフをホップごとに歩き、アドレスをクラスタリングし、実体に帰属できるよう資金フローを再構築します。LI.FI攻撃のケーススタディでその例を確認できます。Trace AIは、AIエージェントによって同じ調査作業を自動化します。ユーザーが盗難を説明し、ウォレットアドレスまたはトランザクションハッシュを提供すると、エージェントがサポートするチェーン全体で資金を追跡し、お金が到達した事業体を含む資金フローレポートを生成します。
これらは資金追跡ツールであり、テイント分析の実装ではありません。上記のテイントルールは同じ根本的な問い——出てきたもののうちどれだけがまだ汚染されているか?——を共有していますが、プロダクション向けの追跡ツールは通常、教科書的なPoison / Haircut / FIFOルールではなく、独自のグラフ、クラスタリング、帰属手法を使用します。テイント分析を理解することは依然として有用です。なぜなら、すべての追跡ツールが各ホップで行わなければならない判断の種類を明確にするからです。
よくある質問
テイント分析は正確ですか? テイント分析は確実性ではなく、防御可能な推定を生み出します。その精度は使用する手法と追跡の複雑さに依存します。FIFOは通常の送金に対して最もクリーンな結果を提供しますが、ミキサーや非常に高いトランザクション量は信頼性を下げ、追加の技術を必要とします。
PoisonとHaircutの違いは何ですか? どちらも汚染されたトランザクションのすべての出力がテイントを持つとして扱いますが、Poisonは各出力を完全に汚染済みとマークし、Haircutは各出力に比例した割合を割り当てます。Poisonは汚染された資金の総プールを膨らませ、Haircutはそれを保存します。これがHaircutをより実用的にしています。
テイント分析でミキサーを通じた資金追跡はできますか? 直接的にはできません。ミキサーは入金と出金のリンクを断ち切るように設計されているため、単純なテイントルールでは資金をそのまま追跡できません。調査員は統計的・行動的分析を使用してつながりを再確立しますが、これは通常の送金を追跡するより難しく、確実性も低くなります。
汚染された暗号資産を保有することは違法ですか? ツールが汚染済みとラベル付けした資金を保有することが自動的に違法になるわけではなく、テイントラベルは法的判断ではなく推定です。とはいえ、取引所は盗難に関連する入金を凍結する場合があり、盗まれた資金を意図的に扱うことは法的リスクを伴います。テイント分析は調べるべき場所を示しますが、有罪を決定するものではありません。
テイント分析はどのブロックチェーンで機能しますか? この原則は、イーサリアムのようなアカウントベースのチェーンや、ほとんどのトークン盗難が発生する他のEVMネットワークを含む、トランザクションを公開記録するすべてのパブリックブロックチェーンに適用されます。トランザクションモデルによって正確なメカニズムは異なりますが、汚染済み対クリーンのロジックは同じです。
関連記事
AIによる調査がこれをチェーン全体でどのように適用するかを確認してください。 Trace AIの仕組みを見る →
著者について。 AndyはBlockSecのセキュリティリサーチャーで、オンチェーンの資金追跡とMetaSleuthの背後にあるメカニズムに注力しています。この記事は、彼のチームがEVMチェーン全体の実際の盗難事例に適用している調査パターンに基づいています。
参考文献
- Tironsakkul, Maarek, Eross, Just — Probing the Mystery of Cryptocurrency Theft: An Investigation into Methods for Taint Analysis, arXiv:1906.05754 (2019). https://arxiv.org/abs/1906.05754



