暗号資産におけるテイント分析とは? テイント分析とは、窃盗の収益、制裁対象への関与、詐欺の資金フローといった「汚染性」を、オンチェーン残高の特定の単位に帰属させ、それがトランザクションやスワップを通じて移動する過程を追跡する手法です。調査担当者は、3つの標準ルール(Poison、Haircut、FIFO)のいずれかを使用して、ウォレットがクリーンな資金と汚染された資金を混合して保有している場合、各送金後にどの単位がテイント済みとみなされるかを決定します。ルールの選択によって、追跡結果が変わります。
暗号資産詐欺で資金が盗まれた場合、その資金が静止したままになることはほとんどありません。数分以内に中間ウォレットを経由して移動し、複数のアドレスに分割され、取引所に到達します。それを追跡しようとする調査担当者は、ホップごとに核心的な問いに直面します。盗まれた資金が同一ウォレット内の正当な資金と混合した場合、出金された資金のうちどれだけが依然として「汚染されている」のか?
テイント分析はその問いへの答えです。ブロックチェーンの資金追跡における基礎的な手法の一つであり、これを理解することで、現代の調査ツールにできることとその限界の両方が明らかになります。
このガイドでは、テイント分析とは何か、調査担当者が使用する3つの手法、そしてイーサリアム上の実例を説明し、各手法の動作を正確に確認できるようにします。
テイント分析とは何か?
テイント分析は、ウォレットの残高のうち既知の不正なソースに由来する割合を推定し、資金が移動するにつれてその割合を追跡します。
この考え方はシンプルなラベルに基づいています。窃盗、詐欺、または制裁対象アドレスに関連するコインはテイント済み、そのような関連のないコインはクリーンと見なされます。単一のウォレットはほぼ常に両者が混在しているため、この手法は送金をテイント済み部分とクリーン部分に分割するためのルールを必要とします。
テイント済み資金とクリーン資金
詐欺被害者から盗まれた3,000 USDTと、通常の取引から得た7,000 USDTを別々に受け取ったアドレスを想像してください。このウォレットは現在10,000 USDTを保有しており、そのうち3,000がテイント済みです。そのアドレスが後に9,000 USDTを取引所に送金する場合、調査担当者は送金された9,000のうちどれだけがテイント済みかを判断しなければなりません。異なるルールでは異なる答えが得られ、その選択が以下の3つの手法を区別するものです。
なぜ重要なのか
調査担当者はこれを優先順位付けに使用します。トランザクションのチェーン全体を凍結することはできないため、どの下流アドレスが盗まれた価値を保有しているか、またその金額はどれくらいかについて、根拠のある推定が必要です。その推定は取引所のコンプライアンスチームと共有されたり、法執行機関へのレポートに含められたりします。
テイント分析が存在する理由
この困難さは、ブロックチェーンが資金を結合する方法から生じます。イーサリアムのようなアカウントベースのチェーンでは、ウォレットの残高は単一のプールされた数値であるため、テイント済みとクリーンな資金が同一アドレスに到達すると、財務的に区別できなくなります。生のトランザクション記録には「この9,000 USDTの送金はクリーンなお金ではなく汚染されたお金を使った」とは記されていません。
テイント分析は明示的な会計ルールでそのギャップを埋めます。研究者たちはPoison、Haircut、FIFOと呼ばれる3つの標準的なテイント手法を体系化しています。これらのルールは、イーサリアムやほとんどのトークン窃盗が発生する他のEVMネットワークなど、アカウントベースのチェーンを含む、トランザクションを公開記録するあらゆるパブリックブロックチェーンに適用されます。
3つの手法と実例
3つの手法は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の送金をラベル付けする3つのテイント分析手法。FIFO(ハイライト)が最もノイズの少ない追跡を生み出します。
テイント分析にできることとできないこと
テイント分析は強力ですが、確実性ではなく推定であり、誠実な報告はその限界を知ることに依存しています。
通常の送金やスワップを通じて資金が移動する場合には有効です。3つの状況では困難が生じます。ミキサーは意図的に入金と出金の間のリンクを断ち切るため、直接追跡ではなく統計的手法でテイントを再確立する必要があります。高いトランザクション量はテイントを非常に多くのアドレスに広げるため、Haircutスタイルの推定は意味を失います。また、クロスチェーンブリッジは台帳間で価値を移動させるため、追跡を反対側で再び繋ぎ合わせる必要があります。

3つの一般的なシナリオにおけるテイント分析の動作。通常の送金はクリーンに追跡できますが、ミキサーとブリッジはそれぞれテイント分析に加えて追加の手法を必要とします。
これらのいずれも追跡を完全に不可能にするわけではありませんが、それぞれがツールの使用する手法と、それがどれだけ慎重に適用されるかによって答えが変わる箇所です。
テイント分析と完全な資金追跡
テイント分析と完全な資金追跡は関連していますが、同一ではありません。テイント分析は会計ルールであり、完全な資金追跡はエンドツーエンドの調査です。
テイント分析はホップごとに狭い問いに答えます。テイント済み資金を受け取ったウォレットで、送金のうちどれだけが汚染されているか?これは繰り返し適用される一つのルールです。
完全な資金追跡は調査全体です。窃盗トランザクションの特定、各ホップでの按分ルールの適用(教科書的な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



