Атаки с манипулированием ценами. Часть 2
Спотовые цены, полученные непосредственно из пулов ликвидности DEX, уязвимы для манипуляций с помощью флэш-кредитов, которые могут временно истощить пулы.
В предыдущем разделе мы установили, что полагаться исключительно на внутренние соотношения баланса токенов контракта для ценообразования небезопасно. Однако как насчет получения цен из внешних источников, таких как крупные пулы ликвидности DEX (например, Uniswap, SushiSwap)? Несмотря на риски, спотовые цены DEX по-прежнему привлекают разработчиков своими очевидными преимуществами: децентрализованным характером, экономической эффективностью (отсутствие комиссий оракула), прозрачностью и мгновенным ценообразованием, особенно для новых токенов. В отличие от специализированных сетей оракулов, они используют только данные из цепочки, что, по-видимому, позволяет избежать внешних зависимостей.
Но их математическая простота, напрямую связанная с волатильными резервами пула (x * y = k), делает их мишенью для манипуляций посредством стратегических сделок, аналогично примеру с меньшим пулом, который мы обсуждали. Злоумышленники могут воспользоваться этим, выполняя крупные сделки (часто финансируемые за счет флэш-кредитов), чтобы временно исказить баланс пула, вызывая резкий скачок или падение спотовой цены, сообщаемой пулом, в зависимости от направления сделки. Этот риск особенно выражен для пулов с низкой ликвидностью, где даже сделки умеренного размера могут вызвать значительные ценовые сдвиги.
Для того, чтобы смягчить влияние манипуляций с ценами с помощью внезапных изменений спотовой цены, можно использовать TWAP. Вместо того, чтобы делать мгновенный снимок (спотовая цена), TWAP усредняет цены за определенный период, обычно от нескольких минут до нескольких часов.
Это значительно ослабляет влияние краткосрочных манипуляций. TWAP работает путем записи кумулятивных цен через определенные интервалы и вычисления средней цены между двумя временными метками.
Чтобы значительно исказить TWAP в течение его окна, злоумышленник должен поддерживать искаженную цену в течение всего этого окна. Это значительно более затратное мероприятие, чем кратковременная манипуляция с помощью флэш-кредитов. Особенно в пулах с высокой ликвидностью, сделки, необходимые для поддержания искаженной цены, повлекут за собой существенное проскальзывание или потребуют огромного капитала.
Протоколы, такие как Uniswap, предлагают собственные оракулы TWAP, встроенные непосредственно в их контракты.
Подход TWAP особенно эффективен для приложений, которые могут терпеть некоторую задержку цен, таких как расчетные слои, казначейские операции или медленно движущиеся рынки. Однако временное окно является важным параметром проектирования: более длинное окно увеличивает сопротивление манипуляциям, но вводит большую задержку в обновлении цен; более короткое окно быстрее, но легче поддается манипуляциям. Оптимальное окно должно быть тщательно выбрано на основе волатильности актива, ликвидности пула и конкретных требований протокола, использующего ценовой фид.
#price
Post #1481
719
- 👍 3
- 🔥 1