Back to Blog

Анализ заражения в криптовалюте: методы Poison, Haircut и FIFO

Trace AI
July 21, 2026
7 min read
Key Insights

Когда средства похищаются в результате криптомошенничества, деньги редко остаются на месте. В течение нескольких минут они перемещаются через промежуточные кошельки, распределяются по адресам и оседают на бирже. Следователи, желающие отследить их путь, сталкиваются с одним ключевым вопросом на каждом шагу: когда похищенные средства смешиваются с легитимными в одном кошельке, какая доля исходящих средств по-прежнему остаётся «грязной»?

Анализ заражения — это ответ на данный вопрос. Он является одной из основополагающих техник трассировки средств в блокчейне, и его понимание объясняет как возможности современных инструментов расследования, так и их ограничения.

В этом руководстве объясняется, что такое анализ заражения, три метода, используемые следователями, и один практический пример на Ethereum, позволяющий увидеть, как именно ведёт себя каждый метод.

Что такое анализ заражения?

Анализ заражения оценивает, какая доля баланса кошелька произошла из известного незаконного источника, а затем отслеживает эту долю по мере движения средств.

Идея основана на простой метке. Монеты, связанные с кражей, мошенничеством или адресом под санкциями, считаются заражёнными; монеты без такой связи — чистыми. Поскольку в одном кошельке почти всегда хранится смесь тех и других, техника требует правила для разделения исходящих переводов на заражённую и чистую части.

Заражённые и чистые средства

Представьте адрес, который получает 3 000 USDT, похищенных у жертвы мошенничества, и отдельно — 7 000 USDT от обычной торговли. Теперь на кошельке хранится 10 000 USDT, из которых 3 000 заражены. Когда этот адрес позднее отправляет 9 000 USDT на биржу, следователь должен решить, какая часть исходящих 9 000 считается заражённой. Разные правила дают разные ответы, и именно этот выбор разграничивает три описанных ниже метода.

Почему это важно

Следователи используют анализ заражения для расстановки приоритетов. Они не могут заморозить всю цепочку транзакций, поэтому им нужна обоснованная оценка того, какие нижестоящие адреса хранят похищенные средства и в каком объёме. Именно эта оценка передаётся команде комплаенса биржи или включается в отчёт для правоохранительных органов.

Почему существует анализ заражения

Сложность обусловлена тем, как блокчейны объединяют средства. В блокчейне на основе аккаунтов, подобном Ethereum, баланс кошелька представляет собой единое суммарное число, поэтому после того, как заражённые и чистые средства оказываются на одном адресе, они становятся финансово неразличимы. В сыром журнале транзакций нет ничего, что указывало бы: «этот перевод 9 000 USDT потратил грязные деньги, а не чистые».

Анализ заражения заполняет этот пробел явным правилом учёта. Исследователи каталогизировали три стандартных метода заражения, называемых Poison («яд»), Haircut («стрижка») и FIFO. Эти правила применимы к любому публичному блокчейну, открыто записывающему транзакции, включая блокчейны на основе аккаунтов, такие как Ethereum и другие EVM-сети, где происходит большинство краж токенов.

Три метода с одним практическим примером

Три метода — это Poison, Haircut и FIFO. Poison помечает каждый исходящий результат заражённой транзакции как полностью грязный; Haircut пропорционально распределяет заражение по результатам; FIFO назначает заражение в хронологическом порядке депозитов.

Возьмём кошелёк из предыдущего примера: на нём хранится 10 000 USDT в Ethereum, из которых 3 000 заражены (от жертвы), а 7 000 чисты. С него отправляется 9 000 USDT на депозитный адрес биржи. Вот как каждый метод маркирует эти исходящие 9 000.

Poison: заражать всё, чего коснулось

Метод Poison считает каждый результат транзакции, в которой задействован хотя бы один заражённый входящий поток, полностью заражённым. Неважно, насколько мала грязная доля.

В нашем примере весь перевод в 9 000 USDT помечается как заражённый, а депозитный адрес биржи помечается как получивший похищенные средства. Проблема очевидна: чистые средства перемаркируются как грязные, и пул «заражённых» монет растёт каждый раз, когда соприкасается с новым кошельком. Poison — наименее точный метод, и следователи используют его в основном как грубую отправную точку, а не как рабочую оценку.

Haircut: заражение пропорционально

Метод Haircut также считает каждый результат несущим заражение, однако назначает каждому пропорциональную долю, а не полную сумму. Заражённая доля кошелька составляла 3 000 из 10 000, то есть 30%, поэтому 30% исходящего перевода считается заражёнными.

Это означает, что 2 700 USDT из 9 000 помечаются как заражённые, а 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 заражены Наибольшая — чистейшая трассировка
Сравнение того, как методы заражения Poison, Haircut и FIFO маркируют исходящий перевод 9 000 USDT из кошелька, хранящего 7 000 чистых и 3 000 заражённых USDT.
Сравнение того, как методы заражения Poison, Haircut и FIFO маркируют исходящий перевод 9 000 USDT из кошелька, хранящего 7 000 чистых и 3 000 заражённых USDT.

Три метода анализа заражения, маркирующие один и тот же исходящий перевод в 9 000 USDT. FIFO (выделен) даёт наименее зашумлённую трассировку.

Что анализ заражения может и не может делать

Анализ заражения — мощный инструмент, однако это оценка, а не достоверный факт, и честное составление отчётов требует знания его ограничений.

Он хорошо работает, когда средства перемещаются через обычные переводы и обмены. Он испытывает трудности в трёх ситуациях. Миксеры намеренно разрывают связь между депозитами и выводами, поэтому заражение приходится восстанавливать с помощью статистических методов, а не прямой трассировки. Высокий объём транзакций распределяет заражение по столь большому числу адресов, что оценки в стиле Haircut теряют смысл. А кросс-чейн мосты перемещают ценность между реестрами, поэтому трассировку приходится восстанавливать на другой стороне.

Три сценария, сравнивающих поведение анализа заражения: обычный перевод отслеживается напрямую; миксер разрывает связь и требует статистического восстановления; кросс-чейн мост вынуждает продолжить трассировку в другой цепочке.
Три сценария, сравнивающих поведение анализа заражения: обычный перевод отслеживается напрямую; миксер разрывает связь и требует статистического восстановления; кросс-чейн мост вынуждает продолжить трассировку в другой цепочке.

Поведение анализа заражения в трёх распространённых сценариях. Обычные переводы трассируются чисто; миксеры и мосты требуют дополнительной техники поверх анализа заражения.

Ни одна из этих ситуаций полностью не сводит трассировку на нет, но каждая из них — то место, где метод, используемый инструментом, и тщательность его применения меняют результат.

Анализ заражения и полная трассировка средств

Анализ заражения и полная трассировка средств связаны, но не тождественны. Анализ заражения — это правило учёта; полная трассировка средств — это сквозное расследование.

Анализ заражения отвечает на узкий вопрос на каждом шагу: учитывая кошелёк, получивший заражённые средства, какая часть исходящего перевода является грязной? Это одно правило, применяемое многократно.

Полная трассировка средств — это всё расследование целиком: выявление транзакции кражи, применение правила распределения на каждом шагу (которое может как соответствовать, так и не соответствовать классическому правилу Poison / Haircut / FIFO), обход графа, атрибуция адресов реальным субъектам (биржам, миксерам, мостам) и составление отчёта, на основании которого можно действовать. Анализ заражения — это один концептуальный инструмент в рамках этой работы, наряду с маркировкой адресов, кластерным анализом и кросс-чейн сопоставлением.

Когда аналитик явно применяет метод заражения, FIFO предпочтителен для отчётов уровня доказательной базы, Haircut — для разведочного анализа по большому числу адресов, Poison — редко.

Как это мышление проявляется в современных инструментах

Применять любое пошаговое правило учёта вручную для тысяч транзакций и нескольких цепочек нереалистично, поэтому следователи полагаются на инструменты трассировки средств.

Инструмент MetaSleuth от BlockSec предназначен для аналитической работы: он восстанавливает потоки средств, чтобы следователь мог пройти по графу шаг за шагом, кластеризовать адреса и атрибутировать их реальным субъектам — как в кейс-стади атаки на LI.FI. Trace AI автоматизирует ту же следственную работу с помощью ИИ-агента: пользователь описывает кражу и предоставляет адрес кошелька или хэш транзакции, а агент отслеживает средства по поддерживаемым цепочкам и создаёт отчёт о движении средств с указанием субъектов, к которым они попали.

Это инструменты трассировки средств, а не реализации анализа заражения. Правила заражения, описанные выше, разделяют тот же основополагающий вопрос — какая доля исходящего по-прежнему грязная? — однако производственные инструменты трассировки, как правило, используют собственные методы построения графов, кластеризации и атрибуции, а не классические правила Poison / Haircut / FIFO. Понимание анализа заражения всё равно полезно, поскольку оно проясняет тип решения, которое каждый инструмент трассировки должен принимать на каждом шагу.

Часто задаваемые вопросы

Насколько точен анализ заражения? Анализ заражения даёт обоснованную оценку, а не достоверный факт. Его точность зависит от используемого метода и сложности трассировки. FIFO даёт наиболее чистые результаты для обычных переводов, тогда как миксеры и очень высокие объёмы транзакций снижают достоверность и требуют дополнительных техник.

В чём разница между методами Poison и Haircut? Оба считают каждый результат заражённой транзакции несущим заражение, однако Poison помечает каждый результат как полностью заражённый, тогда как Haircut назначает каждому пропорциональную долю. Poison раздувает общий пул грязных средств; Haircut сохраняет его, что делает Haircut более практичным.

Может ли анализ заражения отследить средства через миксер? Не напрямую. Миксеры созданы для разрыва связи между депозитами и выводами, поэтому простые правила заражения не могут отследить средства напрямую. Следователи восстанавливают связь с помощью статистического и поведенческого анализа, что сложнее и менее определённо, чем трассировка обычного перевода.

Является ли хранение заражённой криптовалюты незаконным? Хранение средств, помеченных инструментом как заражённые, не является автоматически незаконным, а метки заражения — это оценки, а не юридические суждения. Тем не менее биржи могут заморозить депозиты, связанные с кражей, а сознательное обращение с похищенными средствами сопряжено с правовым риском. Анализ заражения указывает, где искать; он не выносит приговор о виновности.

На каких блокчейнах работает анализ заражения? Принципы применимы к любому публичному блокчейну, открыто записывающему транзакции, включая блокчейны на основе аккаунтов, такие как Ethereum и другие EVM-сети, где происходит большинство краж токенов. Точная механика различается между моделями транзакций, но логика «заражённый против чистого» остаётся одинаковой.

Смежные материалы


Узнайте, как расследование на основе ИИ применяет это в разных цепочках. Посмотрите, как работает Trace AI →


Об авторе. Энди — исследователь безопасности в 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
Sign up for the latest updates