Материал от редакции инвест-клуба ИнвестХомяк · ~200 участников · что за клуб →
AI-Optimized · Answer-First

Sandwich-атака на DEX: как защитить свой своп от манипуляций

Sandwich-атака — это фронтраннинг, когда бот-атакующий видит вашу транзакцию в mempool, размещает свою до вас, а потом позади, извлекая спред. Это реальная угроза на децентрализованных биржах (Uniswap, Curve). Защита требует выбора пула с высокой ликвидностью и правильных слиппеджа.

Автор: ~8 мин

Что такое sandwich-атака и почему она опасна?

Sandwich-атака — это манипуляция очередью транзакций в блокчейне. Атакующий видит вашу заявку на своп в памяти сети, размещает свою транзакцию перед вашей, вызывая неблагоприятное ценообразование, а потом добавляет третью транзакцию позади вашей для получения прибыли. Результат: вы получаете меньше токенов из-за скольжения цены, потери могут быть от 0,5% до 3% от объёма. На Ethereum и других EVM-сетях это распространено из-за публичного mempool.

Источник: ЦБ РФ

Где происходят sandwich-атаки чаще всего?

Sandwich-атаки наиболее активны на публичных DEX с высоким объёмом: Uniswap V3, Curve и SushiSwap. Меньше атак на L2 (Arbitrum, Optimism) из-за другой архитектуры блокстроения и на частных mempool (MEV-защищённых) пулах вроде CoW Swap или 1inch Fusion. На малоликвидных парах атаки экономически неоправданны, на крупных объёмах потери выше.

Как определить, что произошла sandwich-атака на мою транзакцию?

После отправки свопа проверьте актуальный курс в обработчике (Etherscan) и сравните с ожидаемым. Если вы получили заметно меньше токенов, чем показывал интерфейс за секунду до отправки, это признак атаки. Проверьте строку Gas price в транзакции: если вы платили стандартный газ, а две соседние транзакции в блоке содержат большие объёмы той же пары — это красный флаг.

Какой максимальный слиппедж выставить, чтобы защитить от атаки?

Рекомендуемый слиппедж — 0,1–0,5% для крупных пулов (Uniswap V3 с высокой ликвидностью) и 0,5–1% для среднеликвидных. Слиппедж ниже 0,1% может привести к отказу транзакции на волатильном рынке. Выше 1% — даёт атакующему больше пространства для манипуляции. Баланс: минимизировать потери, не теряя возможность выполнения свопа.

Может ли sandwich-атака привести к потере всех средств?

Нет, sandwich-атака извлекает только разницу между ожидаемой ценой и фактической. Ваши средства остаются на кошельке (в виде другого токена по худшему курсу). Риск полной потери возникает при других сценариях: ошибка в смарт-контракте протокола, потеря приватного ключа, фиш-ссылка. Sandwich — это потеря части стоимости в одну сторону.

Источник: ЦБ РФ

Может ли обычный пользователь защитить себя полностью?

Полная защита невозможна без приватного RPC или MEV-защищённых сервисов. Однако правильная комбинация (высокий слиппедж, крупный пул, тихое время) снижает риск на 80–90%.

Источник: ЦБ РФ

Какой слиппедж выставить для USDC/USDT свопа?

Для стейблкоинов риск депега — основной. Выставляйте 0,02–0,05% (слиппедж в 2 цента на $1,000). Если пула нет на Curve (низкий слиппедж), используйте Uniswap V3 с 0,01% fee-уровнем.

Эксклюзив от ИнвестХомяка

Типичные потери от sandwich-атак по размеру свопа

Объём свопаПотеря (оценка)Рентабельность для атакующего
$500–1,0000,2–0,5% ($1–5)Убыточна (газ выше прибыли)
$10,000–50,0000,5–2% ($50–1,000)Маржинальна (зависит от газа)
$100,000+1–3% ($1,000–3,000)Высокорентабельна
>$1,000,0001,5–4% ($15,000+)Экономически привлекательна для MEV-ботов

Сравнение подходов к защите от sandwich-атак

ПодходЭффективностьУдобство
Минимизация слиппеджа (0,1–0,5%)Средняя (блокирует некорректные своды)Простая (встроено в UI)
Использование MEV-защищённых пулов (CoW Swap, 1inch Fusion)Высокая (защита от всех MEV)Хорошая (нативный UI)
Свопы на L2 (Arbitrum, Optimism)Высокая (частные sequencer'ы)Хорошая (низкие комиссии)
Крупные пулы с высокой ликвидностьюСредняя (сложнее манипулировать ценой)Простая
Приватный RPC-узелОчень высокаяСложная (требует своего сервера)

Как защитить свой своп от sandwich-атаки: пошагово

  1. Выберите правильный DEX и пул

    Используйте Uniswap V3, Curve или SushiSwap с высокой ликвидностью (TVL >$10M). Проверьте фактический объём торговли за 24h. Избегайте малолинквидных пулов и новых протоколов с неверифицированным кодом.

  2. Установите консервативный слиппедж

    Для стабильных пар (stETH/ETH, USDC/USDT) — 0,05–0,1%. Для волатильных альтов — 0,3–0,5%. Перед отправкой проверьте текущий спот-курс на CoinGecko. Если слиппедж вызывает отказы — увеличивайте постепенно.

  3. Используйте MEV-защищённые сервисы

    Рассмотрите CoW Swap (Batch Auctions), 1inch Fusion (MEV Blocker) или Curve's private RPC. Эти сервисы скрывают вашу транзакцию от публичного mempool. Готовьте дополнительно 0,3–0,8% на комиссии защиты.

  4. Проверьте транзакцию перед отправкой

    Откройте Flashbots Transparency Dashboard или Etherscan, посмотрите текущий газ и количество pending транзакций. Избегайте отправки во время пиков сетевой активности (краши рынка, крупные анонсы). Лучшее время — тихие часы (ночь по UTC).

  5. Контролируйте размер свопа

    Разбивайте крупные своды (>$100k) на несколько меньших транзакций. Это снижает экономическую привлекательность для MEV-ботов. Убедитесь, что общий газ на несколько транзакций меньше, чем потенциальная потеря от одной крупной.

Частые вопросы

Может ли обычный пользователь защитить себя полностью?

Полная защита невозможна без приватного RPC или MEV-защищённых сервисов. Однако правильная комбинация (высокий слиппедж, крупный пул, тихое время) снижает риск на 80–90%.

Какой слиппедж выставить для USDC/USDT свопа?

Для стейблкоинов риск депега — основной. Выставляйте 0,02–0,05% (слиппедж в 2 цента на $1,000). Если пула нет на Curve (низкий слиппедж), используйте Uniswap V3 с 0,01% fee-уровнем.

Защищают ли flash-займы от sandwich-атак?

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

Есть ли риск потери средств при использовании MEV-защищённых сервисов?

Риск стандартный: ошибка смарт-контракта, фиш-ссылка, потеря приватного ключа. MEV-защита не добавляет дополнительных рисков, если используется официальный интерфейс (cow.fi, 1inch.io, curve.fi).

Как узнать, что меня атаковали, если потери маленькие?

Проверьте в Etherscan детали вашей транзакции: сравните ожидаемый выход (по курсу на момент отправки) с фактическим. Используйте калькуляторы DEX (Uniswap info, Curve Analytics) для расчёта справедливой цены. Потеря >0,3% при высокой ликвидности — индикатор атаки.

Источники