К основному содержимому

Введите слово из вопроса или названия статьи.

3 · Под капотом

MEV и фронтраннинг: кто и как зарабатывает на порядке транзакций

Что такое MEV, как работают сэндвич-атаки, арбитраж и ликвидации, как устроены searcher, builder и MEV-Boost и как защититься. Порядок транзакций в эскроу.

3 мин чтенияОбновлено:
В этой статье

Транзакции не исполняются «в порядке очереди». Тот, кто собирает блок, решает, какие транзакции включить и в каком порядке. Если от порядка зависят деньги, возникает рынок: MEV (maximal extractable value, максимально извлекаемая стоимость) - прибыль, которую можно получить, управляя порядком транзакций. Для понимания нужно знать, как транзакция попадает в блок (анатомия транзакции).

Где живёт MEV

Отправленная транзакция попадает в mempool - публичную «приёмную», где её видят все. Специализированные боты - searchers - сканируют mempool в поиске выгоды: они симулируют транзакции и ищут те, перед которыми или после которых можно вставить свою с прибылью.

Основные виды MEV

Арбитраж

Цена токена на двух биржах различается. Бот покупает дешевле и тут же продаёт дороже. Это полезная форма: она выравнивает цены между рынками.

Ликвидации

В кредитных протоколах позиции с недостаточным залогом ликвидируются за вознаграждение (DeFi). Боты соревнуются, кто первым вызовет ликвидацию. Тоже полезно: протокол остаётся платёжеспособным.

Фронтраннинг

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

Сэндвич-атака

Самая неприятная для пользователей: бот «зажимает» вашу покупку между двумя своими.

Пример на пуле x·y = k. В пуле 1 000 ETH и 2 000 000 USDC. Вы хотите купить 10 ETH.

  • Без атаки: вы заплатите около 20 202 USDC (≈ 2 020 за ETH).
  • Бот видит вашу транзакцию и покупает 20 ETH перед вами (платит ≈ 40 816 USDC). Цена в пуле растёт.
  • Ваша покупка 10 ETH теперь стоит ≈ 21 039 USDC (≈ 2 104 за ETH).
  • Сразу после вас бот продаёт свои 20 ETH обратно и получает ≈ 41 654 USDC.

Прибыль бота ≈ 837 USDC, и столько же вы переплатили. Защита от такого - ограничение проскальзывания в настройках обмена (что такое проскальзывание): если цена оказалась хуже допустимой, транзакция откатывается.

Бэкраннинг

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

Кто участвует: цепочка поставки блоков

После перехода на Proof of Stake большинство валидаторов используют схему PBS (разделение предложения и построения блоков), реализованную через MEV-Boost:

  1. Searchers присылают пакеты транзакций, обещая плату.
  2. Builders (строители) собирают из них самые доходные блоки.
  3. Relays (реле) передают лучшие блоки валидаторам.
  4. Proposer (валидатор) выбирает самый выгодный блок и подписывает его.

Эта система побочно создаёт конкуренцию и «гонку ставок»: значительная доля MEV уходит валидаторам. Она также концентрирует построение блоков у нескольких игроков, что вызывает споры о цензуре.

Как защититься

  1. Ограничивайте проскальзывание. Не ставьте 10-50% «чтобы прошло».
  2. Используйте приватные каналы. Приватный RPC (например, Flashbots Protect) отправляет транзакцию строителям, минуя публичный mempool. Сэндвич невозможен, если бот не видит транзакцию.
  3. Разбивайте крупные обмены на части или используйте площадки с пакетными аукционами.
  4. Схемы commit-reveal. Сначала фиксируется хеш намерения, затем раскрывается (хеш-обязательства).
  5. Проверяйте условия до подписания. Окно кошелька показывает минимально допустимый результат.

MEV и эскроу

В Coin-Trust нет обмена токенов и цен, на которых можно «зажать» пользователя, поэтому сэндвичи не применимы. Тем не менее порядок транзакций имеет значение.

Сценарий: гонка в конце срока. Срок исполнения истёк. Покупатель отправляет claimExpired (закрыть с возвратом), продавец - openDispute (открыть спор). Обе транзакции попадают в один блок. Какая выполнится первой, та и сработает: если вернулся спор, второй вызов будет отклонён, потому что сделка уже не в статусе Active (жизненный цикл).

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

Что не угрожает. Если кто-то увидит в mempool вашу транзакцию acceptOffer, ничего не украсть: принять оферту может только указанный контрагент, а выплаты идут по заранее заданным адресам (контроль доступа).

Обзор: хорошо или плохо

MEV не однозначен. Арбитраж и ликвидации полезны для рынков. Сэндвичи и фронтраннинг - прямой вред пользователям. Исследователи работают над решениями: зашифрованные mempool, пакетные аукционы, ограничение прав строителей. Пока полностью MEV не устраним, поэтому пользователям стоит применять базовые меры защиты (чек-лист, каталог уязвимостей).

Что почитать дальше

Увидим, как кошелёк может стать «умным» и сам защищаться: абстракция аккаунтов. Или как оптимизировать расход: оптимизация газа.

Упоминается в статьях

Готовы попробовать?

Создайте первую сделку за пару минут. Деньги блокируются в смарт-контракте и выплачиваются по правилам, которые видны заранее.