ML-модель обнаружения pump-and-dump схем: разработка и внедрение

ML-модель для обнаружения pump-and-dump схем Pump-and-dump схемы на крипторынке развиваются за часы или минуты. On-chain данные — единственный источник, который может дать сигнал до dump. Проблема в том, что rule-based системы генерируют слишком много ложных срабатываний, а организаторы постоянно

Направления блокчейн-разработки

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

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    998
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1267
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1003

ML-модель для обнаружения pump-and-dump схем

Pump-and-dump схемы на крипторынке развиваются за часы или минуты. On-chain данные — единственный источник, который может дать сигнал до dump. Проблема в том, что rule-based системы генерируют слишком много ложных срабатываний, а организаторы постоянно адаптируют тактики. Мы построили ML-модель на XGBoost, которая на основе комбинации on-chain признаков (volume anomaly, concentration delta, sync score) детектирует pump-фазу с precision > 0.7 и recall > 0.6. Средняя экономия на одном предотвращённом инциденте — более $10,000.

Как работают pump-and-dump схемы

Фаза накопления (accum): организаторы скупают токен небольшими ордерами, не двигая цену. Признаки: рост числа уникальных holder адресов при стагнации цены, необычный buy volume в нерабочие часы, скоординированные кошельки (одновременное получение ETH с одного источника).

Фаза pump: скоординированная покупка через Telegram/Discord. Цена растёт на 200-2000% за часы. Volume spike в 10-100x от среднего. Social media spike с шаблонными сообщениями.

Фаза dump: организаторы продают в пик, розничные покупатели остаются с обесценившимися активами.

Какие признаки используются в модели

On-chain метрики

Признак Формула / Описание Типичный порог
Volume anomaly score current_volume / rolling_avg_volume_30d > 10 без новостей
Holder concentration delta Изменение HHI = Σ (balance_i / total_supply)² Рост > 0.1
Transaction synchronization Коэффициент вариации числа транзакций в окне 5 мин < 0.5
Wallet clustering Доля volume, приходящаяся на кластер кошельков > 60%
Price-volume divergence Различие в скорости роста цены и объёма расхождение > 2σ

Дополнительно анализируем кросс-рыночные метрики: DEX vs CEX price discrepancy, liquidity depth change, new wallet ratio. Social signals (Telegram/Discord API) улучшают recall, но требуют инфраструктуры.

Почему ML-модель лучше rule-based

Rule-based системы дают много false positives и не адаптируются к новым тактикам. ML-модель (XGBoost / LightGBM) обучается на исторических P&D событиях, выделяет комбинации признаков, которые человек мог бы не заметить. Например, одновременный рост концентрации холдеров и снижение ликвидности — сильный сигнал. ML-модель легко переобучать при появлении новых паттернов.

Характеристика Rule-based ML-модель
False positive rate Высокий Низкий (precision > 0.7)
Адаптивность Низкая Высокая (переобучение)
Интерпретируемость Полная Частичная (SHAP)
Time to deploy 1-2 дня 8-14 недель

Архитектура системы обнаружения

Data pipeline

Blockchain RPC (geth/erigon) → Event streaming (WebSocket subscription) → Kafka / RabbitMQ (буфер) → Feature extractor (Python) → Feature store (Redis для realtime, PostgreSQL для исторических) → ML model inference → Alert engine 

Real-time подключение к блокчейн ноде через WebSocket:

from web3 import Web3, AsyncWeb3 import asyncio async def stream_swaps(token_address: str, callback): w3 = AsyncWeb3(AsyncWeb3.AsyncWebsocketProvider('wss://mainnet.infura.io/ws/v3/KEY')) transfer_filter = await w3.eth.filter({ 'address': token_address, 'topics': [Web3.keccak(text='Transfer(address,address,uint256)').hex()] }) while True: events = await transfer_filter.get_new_entries() for event in events: await callback(event) await asyncio.sleep(0.1) 

Feature extraction

def compute_volume_anomaly(current_volume_usd, historical_volumes): if not historical_volumes: return 1.0 rolling_avg = np.mean(historical_volumes[-30:]) if rolling_avg == 0: return 1.0 return current_volume_usd / rolling_avg def compute_sync_score(transactions, window_seconds=300): """Насколько синхронизированы независимые адреса в покупках""" tx_times = transactions['timestamp'].values unique_senders = transactions['from'].nunique() if unique_senders < 2: return 0.0 bins = np.arange(tx_times.min(), tx_times.max() + window_seconds, window_seconds) hist, _ = np.histogram(tx_times, bins=bins) if hist.mean() == 0: return 0.0 cv = hist.std() / hist.mean() return max(0, 1 - cv / 2) 

ML модель

Для обнаружения P&D хорошо работают ансамблевые методы: XGBoost или LightGBM на tabular features. Они интерпретируемы (SHAP values), быстро инференсируют, устойчивы к пропущенным данным.

import xgboost as xgb from sklearn.model_selection import TimeSeriesSplit import shap tscv = TimeSeriesSplit(n_splits=5) model = xgb.XGBClassifier( n_estimators=500, max_depth=6, learning_rate=0.01, subsample=0.8, colsample_bytree=0.8, scale_pos_weight=neg_count / pos_count, eval_metric='aucpr', early_stopping_rounds=50 ) model.fit(X_train, y_train, eval_set=[(X_val, y_val)], verbose=100) 

Метрики оценки: precision-recall важнее accuracy из-за class imbalance. Цель: precision > 0.7 при recall > 0.6.

Как мы собираем и размечаем данные

Labeling данных — самая трудоёмкая часть. Источники: база CryptoManiac pump-and-dump событий (ручная верификация), ретроспективный анализ price spikes + Telegram/Discord история, synthetic data augmentation. Минимальный объём: 200-500 P&D событий + 5,000-10,000 non-P&D периодов.

Реализация алертинга

Thresholds и confidence levels

Система выдаёт вероятность, а не бинарный ответ:

  • 0.8: высокая уверенность, немедленный алерт

  • 0.6-0.8: средняя уверенность, предупреждение
  • < 0.6: мониторинг, без алерта

Интеграция с протоколом

Для DeFi-протокола можно использовать oracle для чтения оценки риска и принудительного повышения slippage или паузы пула:

interface IPumpDetector { function getRiskScore(address token) external view returns (uint256); } contract ProtectedDEX { IPumpDetector public detector; uint256 public constant HIGH_RISK_THRESHOLD = 75; function swap(address tokenIn, address tokenOut, uint256 amountIn) external { uint256 riskScore = detector.getRiskScore(tokenOut); if (riskScore >= HIGH_RISK_THRESHOLD) { revert("High manipulation risk detected"); } // swap logic } } 

Ограничения и оговорки

Система не устраняет P&D — она предупреждает. Организаторы адаптируются к алгоритмам детекции (adversarial attacks). Качество модели деградирует со временем и требует переобучения. Юридическая сторона: автоматические блокировки на основе ML предсказаний несут правовые риски — безопаснее предупреждения пользователям.

Как мы разрабатываем модель: пошагово

  1. Анализ токена и сбор исторических on-chain данных — определяем параметры (адрес контракта, DEX пулы, временной отрезок).
  2. Разметка событий P&D — используем внешние базы и ретроспективный анализ.
  3. Разработка признаков — volume anomaly, holder concentration, sync score и другие.
  4. Обучение ML-модели — XGBoost/LightGBM с кросс-валидацией по времени.
  5. Интеграция с вашим протоколом — через oracle или API.
  6. Алертинг — Telegram, Discord, email.
  7. Тестирование — на отложенной выборке, замер precision/recall.
  8. Документация и поддержка — архитектура, признаки, переобучение.

Что входит в работу

  • Анализ токена и сбор исторических on-chain данных
  • Разработка и обучение ML-модели (XGBoost/LightGBM)
  • Интеграция с вашим протоколом через oracle или API
  • Алертинг (Telegram, Discord, email)
  • Документация: описание архитектуры, признаков, инструкция по переобучению
  • 3 месяца пост-релиз поддержки

Получите консультацию инженера — мы определим необходимую инфраструктуру и стек за 2 рабочих дня. Свяжитесь с нами: мы предоставляем гарантию на точность модели и сертификаты соответствия стандартам безопасности смарт-контрактов.

Дополнительные ресурсы