Wallexx — Документация
Методология

Графовые алгоритмы

PageRank, HITS, кластеризация совместного владения, коэффициент кластеризации, fan-метрики.

Графовые алгоритмы

Граф строится по транзакциям: вершины — адреса, рёбра — переводы, вес ребра — объём в USD. Для каждого скорируемого адреса строится эго-граф глубиной 2 hop (адрес → контрагенты → контрагенты контрагентов). Ограничение размера графа — до 50 000 вершин.

flowchart LR
  A[Скорируемый адрес] --> B[Контрагенты<br/>1 hop]
  B --> C[Контрагенты контрагентов<br/>2 hop]
  A --> D{Метрики}
  D --> E[PageRank]
  D --> F[HITS]
  D --> G[Кластеризация]
  D --> H[Fan-метрики]

1. PageRank

Использование: важность адреса в сети. Адреса, связанные с «важными» контрагентами (биржи, крупные DeFi-протоколы), получают более высокий базовый PageRank. Аномально низкий PageRank при высокой активности — признак изолированной фермы кошельков.

Формула:

PR(v) = (1-d)/(N) + d Σ_u ∈ In(v) (PR(u))/(| Out(u) |)

Параметры:

  • damping factor d = 0.85
  • итерации: до сходимости (varepsilon = 10^-6) или максимум 100

Интерпретация в контексте риска:

ЗначениеИнтерпретация
Высокий PageRank + нормальные признакиОрганичный участник сети
Низкий PageRank + высокая активностьИзолированная ферма кошельков
Резкий рост PageRankВозможное накручивание связности

Использование: различение хабов (распределители средств) и авторитетов (аккумуляторы средств). В контексте AML: миксеры — типичные хабы, адреса сбора — типичные авторитеты.

Формулы:

hub(v) = Σ_u ∈ Out(v) auth(u),    auth(v) = Σ_u ∈ In(v) hub(u)

Итеративно до сходимости, нормализация после каждой итерации.

СигналИнтерпретация
Высокий hub-scoreРаспределитель средств (типично для миксеров)
Высокий authority-scoreАккумулятор средств (адрес сбора)

3. Кластеризация совместного владения

Использование: выявление сибил-атак — множества кошельков, контролируемых одним владельцем (фарминг бонусов, обход лимитов).

Эвристики объединения адресов в кластер:

  1. Common input heuristic (BTC): несколько входов одной транзакции → один владелец
  2. Funding source overlap: адреса, пополненные с одного источника в коротком окне (< 1 час)
  3. Behavioral similarity: схожие паттерны сумм, времени, последовательности действий (косинусная близость векторов признаков > 0.9)
  4. Sequential funding: A пополняет B, B пополняет C — цепочка

Метрики кластера:

  • cluster_size — число адресов в кластере; кластер > 10 адресов — красный флаг
  • cluster_risk_score — доля адресов кластера с высоким риском
  • is_new_cluster — все адреса кластера созданы в окне < 7 дней

4. Коэффициент кластеризации (Clustering Coefficient)

Использование: плотность связей между контрагентами адреса. Высокий CC — контрагенты связаны друг с другом (замкнутая группа, например ферма). Низкий CC — разрозненные контрагенты (нормально для обычного пользователя).

Формула:

CC(v) = (2 · |{(u,w) ∈ E : u,w ∈ N(v)}|) / (deg(v) · (deg(v) - 1))

где N(v) — соседи вершины v, E — множество рёбер.

ЗначениеИнтерпретация
CC → 1Замкнутая группа контрагентов (ферма)
CC → 0Разрозненные контрагенты (обычный пользователь)

5. Fan-метрики (Fan-in / Fan-out)

Использование: массовые рассылки и сборы.

МетрикаОпределениеСигнал
fan_out_7dЧисло уникальных получателей за 7 дней> 50 — рассылка
fan_in_7dЧисло уникальных отправителей за 7 дней> 50 — сбор средств
fan_out_burstМаксимальное число получателей за 1 час> 20 — всплеск
fan_velocityFan-out за 24 ч / fan-out за 7 дней> 0.7 — концентрация

Контекст: нормальное поведение игрока — fan-out 1–5 (вывод на 1–2 адреса). Fan-out > 50 — аномалия, характерная для мошеннических схем.

Ограничения и компромиссы

  • 2 hop граф: больше — экспоненциальный рост данных; меньше — теряем контекст
  • Веса рёбер: только объём в USD (не учитываем частоту и давность в v1)
  • Аппроксимация: для графов > 50 000 вершин — выборка топ-1000 по объёму контрагентов
  • Детерминизм: все алгоритмы с фиксированным seed, результат воспроизводим