AMLConsensus · курс
Программа · Урок 4.1
Раздел 4 · Урок 4.1

Exposure и multi-hop taint: как считается риск

Когда сервис показывает «риск 72/100» или «12% средств связаны с даркнетом», за этими цифрами стоит конкретная математика. В этом уроке разбираем, как из графа транзакций получается число: что такое exposure, как «краска» рискового источника проходит через цепочку переводов, чем отличаются модели haircut и FIFO и почему далёкие хопы должны весить меньше близких.

▶ Видеоурок: как считается риск-скор (озвучка на русском).

Прямой риск против косвенного

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

Практический смысл прост: прямой контакт с санкциями или взломом — это почти всегда стоп-фактор, а косвенная связь на 4–5 хопов через десятки обычных кошельков — часто фоновый шум, который есть почти у любого активного адреса. Задача скоринга — не паниковать от любой связи, а количественно оценить, сколько именно рисковых денег и насколько близко они к проверяемому кошельку.

Что такое exposure

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

Ключевая идея: скоринг работает не с «да/нет», а с долями. Кошелёк редко бывает на 100% чистым или на 100% грязным. Реальная картина — «41% входящих средств прослеживается до P2P-бирж без KYC, 6% — до даркнет-маркета, остальное — до централизованных бирж с верификацией». Такой профиль экспозиции и есть сырьё для итоговой оценки.

Различают два направления, и путать их нельзя (этому посвящён отдельный урок 4.2):

Схема multi-hop экспозиции: рисковый источник, промежуточные адреса и затухание доли по хопам

Multi-hop taint: «краска» рискового источника распределяется по цепочке переводов и слабеет с каждым хопом. Проверяемый кошелёк наследует лишь ту долю, которая физически до него дотекла.

Taint-анализ: как краска течёт по графу

Taint (буквально «пятно», «загрязнение») — это метод, которым риск «переносится» по графу транзакций от источника к вашему адресу. Представьте, что рисковый кошелёк окрашивает свои монеты красной краской. Дальше вопрос в том, какая доля этой краски дойдёт до проверяемого адреса через промежуточные переводы.

Механика на одном примере. Пусть адрес X получил 10 ETH, из них 3 ETH пришли с миксера (рисковый источник), а 7 ETH — с обычной биржи. Тогда:

  1. Считаем прямую экспозицию X. 3 из 10 ETH окрашены → tainted-доля X = 30%.Это входящая экспозиция первого хопа.
  2. X отправляет 5 ETH на адрес Y. Вопрос: сколько «красных» ETH ушло к Y?Ответ зависит от модели окрашивания — см. haircut против FIFO ниже.
  3. Y наследует часть краски. Его собственная экспозиция теперь зависит и от X, и от других его входящих переводов.Так риск распространяется на второй хоп и дальше.

Именно из-за шага 2 существует не одна, а несколько конкурирующих моделей taint. Выбор модели радикально меняет результат, поэтому его нужно понимать.

Haircut против FIFO: две модели окрашивания

Проблема в том, что монеты на блокчейне взаимозаменяемы (fungible). Когда на адресе смешались чистые и грязные средства, а потом часть ушла дальше, невозможно физически сказать, «какие именно» монеты отправились. Поэтому модели вводят разные допущения.

Почему это важно на практике. Один и тот же кошелёк по haircut может показать «4% риска» (размазано), а по FIFO — «эти конкретные 3 ETH пришли с миксера и ушли на биржу такой-то». Haircut отвечает на вопрос «насколько в среднем загрязнён баланс», FIFO — «куда физически ушли грязные монеты». Коммерческие платформы обычно комбинируют: haircut для скоринга, FIFO/poison («отравление» — весь смешанный вывод считается грязным) для расследований.

Существует и третья, самая жёсткая логика — poison / taint-by-association: любое касание грязных средств делает весь кошелёк грязным (100%), без учёта долей. Она даёт огромное количество ложных срабатываний и в чистом виде почти не применяется для скоринга, но встречается в некоторых санкционных трактовках, где важен сам факт контакта.

Затухание по хопам и taint inflation

Здоровый скоринг обязан затухать с расстоянием. Связь через 1 хоп и через 6 хопов не могут весить одинаково — иначе почти любой адрес окажется «связан» с чем угодно, ведь блокчейн сильно связный граф.

Taint inflation — главная ошибка новичка. Если складывать экспозицию по всем путям без затухания и без нормировки, цифры «раздуваются» и превышают 100%. Один грязный источник, до которого ведут десять параллельных путей, может быть посчитан десять раз. Итог: кошелёк с реальными 5% риска выглядит как «связан с криминалом на 80%». Правильный движок нормирует вклад по фактически дотёкшей сумме и не считает одну и ту же монету дважды.

Отсюда практический навык чтения отчётов: всегда смотрите не только на процент, но и на дистанцию (сколько хопов) и на модель (haircut или FIFO). «30% косвенной экспозиции на 5-м хопе по haircut» и «30% прямой экспозиции по FIFO» — это две принципиально разные ситуации с разными управленческими выводами.

Разбор кейса от начала до конца

Соберём всё вместе. Клиент присылает адрес и просит проверить перед приёмом платежа.

  1. Строим граф входящих. Идём назад по транзакциям на 5 хопов, помечаем известные источники по меткам.Биржи, миксеры, санкции, даркнет, P2P.
  2. Считаем прямую экспозицию. 0% прямого контакта с hard-флагами — уже хорошо.Прямой контакт с санкциями закрыл бы вопрос сразу.
  3. Считаем косвенную по haircut с затуханием. Получаем: 4% через миксер на 3-м хопе, 22% через no-KYC P2P на 2-м хопе.Каждый вклад умножен на decay по дистанции.
  4. Интерпретируем. 4% миксера на 3-м хопе — фоновый шум. 22% P2P — умеренный флаг, стоит запросить у клиента происхождение средств.Число само по себе не решение — оно вход для суждения.
Вывод урока. Exposure — это доли, а не приговор. Taint показывает, как эти доли перетекают по графу, а модель окрашивания (haircut/FIFO) и затухание по хопам определяют, во что превратится сырой граф. Цифра «риск 72» бессмысленна без ответов на три вопроса: какая доля, на каком расстоянии, по какой модели. В следующем уроке разберём, как этим долям присваивают веса — почему санкции тяжелее казино и как из профиля экспозиции рождается финальное число 0–100.

Материалы носят образовательный характер.