Фронтраннинг (Front Running)
Кратко: Фронтраннинг (front running) — это ситуация, когда тот, кто располагает информацией о будущей транзакции, ставит в очередь свою транзакцию раньше неё…
Фронтраннинг (front running) — это ситуация, когда тот, кто располагает информацией о будущей транзакции, ставит в очередь свою транзакцию раньше неё, рассчитывая заработать на движении цены, которое, скорее всего, вызовет ожидающая транзакция.
Почему это важно
В традиционных финансах брокер, совершающий сделки раньше ордера клиента, допускает одну из форм злоупотребления на рынке, запрещённую во многих юрисдикциях. В публичных блокчейнах такая «информация» зачастую находится у всех на виду. Прежде чем попасть в блок, ожидающие транзакции находятся в публичной зоне ожидания — мемпуле, и автоматизированные боты внимательно за ним следят. Заметив выгодную ожидающую сделку, бот отправляет собственную транзакцию с более высокой комиссией, чтобы она была обработана первой. Это один из основных источников извлекаемой майнерами ценности (miner extractable value, MEV), которую также называют максимальной извлекаемой ценностью (maximal extractable value). Пользователи децентрализованных бирж могут ограничить ущерб, установив узкий допуск проскальзывания, при котором сделка отменяется, если цена сдвигается слишком сильно, а некоторые кошельки предлагают приватную отправку, при которой транзакции не попадают в публичный мемпул.
Пример
Пользователь отправляет крупный ордер на покупку токена на децентрализованной бирже. Бот замечает его в мемпуле и первым покупает тот же токен, заплатив более высокую комиссию, что поднимает цену. Затем ордер пользователя исполняется по худшей цене, а бот сразу после этого продаёт по более высокой цене, которую создала покупка пользователя. Такая схема известна как «сэндвич-атака» (sandwich attack).