Схема устроена предельно просто. Бот видит вашу неисполненную транзакцию, встраивает свою покупку перед ней и продажу после, а цена для вас ухудшается ровно настолько, насколько позволяет заданный допуск.

Сэндвич: три транзакции в одном блоке 1. бот покупает цена уходит вверх 2. ваш своп исполняется по худшей цене 3. бот продаёт забирает разницу условие атаки: ваша транзакция видна в публичном мемпуле до исполнения чем шире допуск проскальзывания, тем больше бот может забрать

Три транзакции в одном блоке, разница остаётся боту.

Условие атаки

Исследование Cointelegraph Research совместно с EigenPhi на массиве более чем 95 тысяч сэндвич-атак в сети Ethereum подтверждает ключевое требование: атака возможна только при видимости транзакции в мемпуле, а операции, исполняемые вне публичного мемпула, не имеют пригодной для эксплуатации поверхности. Источник

Из этого следует всё остальное. Нет видимости — нет атаки.

Что усиливает потери

  • Широкий допуск проскальзывания: он прямо определяет, сколько бот может забрать.
  • Крупная сделка в одном пуле без разделения маршрута.
  • Низколиквидная пара, где даже небольшой объём двигает цену.
  • Публичная отправка транзакции через стандартный узел кошелька.
Допуск в 5 %, поставленный «чтобы транзакция точно прошла», — это разрешение забрать у вас до 5 % суммы. Бот не берёт больше, чем позволено, но берёт ровно столько, сколько позволено, и делает это каждый раз.

Что работает как защита

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

Механизмы разные. Принцип один: убрать транзакцию из публичной очереди.

  • Пакетный аукцион с единой ценой.
  • Приватный мемпул и конкуренция исполнителей.
  • Защищённый канал отправки в настройках кошелька.

Последний вариант, по моим наблюдениям, доступен почти всем и включается за минуту.

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

Мой набор для повседневных обменов: приватный узел в настройках кошелька, допуск 0,3–0,5 % для ликвидных пар, разделение крупной сделки на части и площадка с пакетным исполнением для сумм выше нескольких тысяч долларов.

Вывод

Сэндвич-атака требует всего двух условий: вашей видимости в очереди и вашего же щедрого допуска. Оба устраняются настройками, а не удачей. Подробнее о самом допуске — в отдельном материале, об общей механике — в разборе MEV.

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

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

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

Защищает ли приватный узел полностью?

От сэндвича по мемпулу — да. От других форм извлекаемой ценности и от плохого исполнения при тонкой ликвидности он не спасает.

Почему кошельки не включают защиту по умолчанию?

Приватная отправка иногда медленнее и зависит от конкретного провайдера. Часть кошельков уже включает её по умолчанию, но проверить настройку стоит самостоятельно.