Slippage и Price Impact. Что это такое и в чем разница
Обмен может пройти по цене хуже той, которую пользователь видел секунду назад. Иногда цену двигает сама сделка, а иногда рынок меняется уже после получения котировки.
Для этих ситуаций используют два термина — Price Impact (влияние на цену) и Slippage (проскальзывание). Проскальзывание встречается и на централизованных биржах, но особенно наглядно его механика видна при обменах через DEX.
Price Impact: когда цену двигает сама сделка
Price Impact, или влияние сделки на цену, возникает из-за собственной операции пользователя. В DEX на базе автоматического маркет-мейкера (AMM) цена зависит от состояния пула ликвидности. Чем большую долю доступных активов забирает обмен, тем сильнее меняется их соотношение и тем хуже становится средняя цена исполнения.
Допустим, небольшой обмен позволяет купить токен примерно по $1. Пользователь увеличивает сумму в десятки раз, но ликвидности в пуле мало. Первые токены он получает около $1, следующие — уже дороже. Средняя цена всей покупки растет.
Поэтому Price Impact зависит прежде всего от размера сделки относительно глубины ликвидности. В крупном пуле он может быть почти незаметным, а большая операция в небольшом пуле способна заметно сдвинуть цену.
Slippage возникает после получения котировки
Slippage, или проскальзывание, — разница между ожидаемым и фактическим результатом сделки. Price Impact уже виден при расчете обмена и вызван его размером. Slippage возникает позже: пока транзакция ждет исполнения, другие участники могут изменить состояние пула, а рынок — уйти в другую сторону.
Например, интерфейс показывает 1900 USDT за 1 ETH. Пока транзакция ждет включения в блок, цена меняется, и пользователь получает 1888 USDT. Это отрицательное проскальзывание.
Но Slippage бывает и положительным. Если к моменту исполнения условия стали выгоднее и за тот же ETH пользователь получил 1905 USDT, фактическая цена оказалась лучше первоначальной котировки.
На централизованной бирже причина может быть другой: крупный рыночный ордер последовательно забирает заявки из стакана по разным ценам. Итоговая средняя цена тоже может отличаться от той, которую трейдер видел перед отправкой ордера.
Slippage Tolerance — не комиссия и не прогноз потерь
При обычном обмене через DEX-интерфейс пользователь часто может установить Slippage Tolerance — допустимое проскальзывание. Этот процент не означает, что сделка обязательно пройдет именно настолько хуже. Он задает границу, после которой обмен уже не должен исполняться по предложенной цене.
Если расчет показывает получение 1000 токенов, а допустимое проскальзывание составляет 1%, интерфейс определяет минимально приемлемый результат. Если цена уйдет за эту границу, обмен не состоится.
Если транзакция уже попала в блок и завершилась ошибкой, сам обмен откатится, но заплаченная за выполнение комиссия сети не возвращается.
Слишком маленький допуск лучше защищает цену, но повышает риск неудачного исполнения на волатильном рынке. Слишком большой позволяет сделке пройти при гораздо более сильном ухудшении условий.
В веб-интерфейсе Uniswap автоматический Slippage сейчас устанавливается в диапазоне от 0,5% до 5% в зависимости от параметров операции. Пользователь может выбрать собственное значение.
Большой допуск увеличивает риск сэндвич-атаки
Высокий Slippage Tolerance оставляет больше пространства для ухудшения цены и может сделать крупный обмен привлекательнее для ботов, которые зарабатывают на выгодном размещении своих транзакций вокруг чужих операций — MEV-ботов.
При сэндвич-атаке бот замечает неподтвержденную сделку и ставит свою покупку перед ней. Его операция двигает цену. Затем исполняется обмен пользователя уже по менее выгодному курсу, после чего бот продает актив обратно.
Схема состоит из трех операций: покупка бота, обмен пользователя и обратная продажа бота.
Если допустимое проскальзывание слишком велико, сделка пользователя может не отмениться даже после заметного изменения цены. Разница становится частью прибыли атакующего.
Снизить риск помогают более глубокая ликвидность, разумный предел Slippage и защищенная отправка транзакций, если ее поддерживает кошелек или сервис.
Почему большую сделку отправляют по нескольким маршрутам
Высокий Price Impact нельзя исправить увеличением Slippage Tolerance. Если сама сделка слишком велика для конкретного пула, широкий допуск лишь разрешит исполнить ее по худшей цене. Поэтому агрегаторы собирают ликвидность сразу из нескольких источников.
OKX DEX агрегирует более 400 DEX в 30+ блокчейнах. Его маршрутизатор может разбить одну операцию между несколькими площадками и пулами, если такой вариант дает более выгодный результат.
При выборе учитываются цена, глубина ликвидности, газ и ожидаемое проскальзывание. Поэтому крупный обмен необязательно проходит через один пул целиком.
Разница особенно заметна на больших суммах: сделка на $1000 может почти не изменить цену в глубоком пуле, тогда как операция на $100 тыс. при той же паре и слабой ликвидности способна дать заметный Price Impact.
Что смотреть перед подтверждением обмена
Цена токена на графике сама по себе мало говорит о том, сколько пользователь получит после обмена. Перед подтверждением важнее посмотреть расчетный результат, Price Impact и минимальную сумму получения при выбранном Slippage.
Высокий Price Impact — повод уменьшить размер сделки или искать более глубокую ликвидность и другой маршрут. Увеличение Slippage эту проблему не решает.
Slippage Tolerance отвечает за другое: насколько сильно условия могут измениться между котировкой и исполнением, прежде чем обмен будет отклонен.
Если плохая цена видна еще до отправки транзакции, проблема чаще в Price Impact. Если результат ухудшился уже после котировки — это Slippage.