База знаний
July 24

Безопасность оракулов Curve: подробное объяснение

Время чтения: 5 мин

В DeFi многие протоколы полагаются на точное ценообразование активов. Кредитные рынки, например, должны знать стоимость залога в реальном времени для оценки состояния займов и запуска ликвидаций. Решение этой "проблемы оракулов" является давней задачей, и многие платформы передают эту проблему решениям третьих сторон.

Curve использует другой подход. Его оракулы встроены непосредственно в AMM, получая цены напрямую из торговой активности в блокчейне. Благодаря этой встроенной интеграции они используются для минтинга crvUSD и кредитных рынков Llamalend - и им доверяют многие другие DeFi протоколы.

Как работают ценовые оракулы Curve


Оракулы Curve защищены двумя основными механизмами: математически устойчивой системой EMA ценообразования и экономическим дизайном, который делает манипуляции невыгодными.

Ценообразование по экспоненциальной скользящей средней (EMA)

Вместо вывода волатильной, легко манипулируемой спотовой цены, оракулы Curve используют экспоненциальную скользящую среднюю (EMA). Это работает аналогично простой (стандартной) скользящей средней, но придает больший вес последним сделкам. Это позволяет оракулу отражать ценовые тренды быстрее, чем простая скользящая средняя, при этом сглаживая внезапные скачки, как можно увидеть ниже на графике цены и скользящих средних:

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

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

Экономическая защита от манипуляций

Второй уровень безопасности оракула - экономический. Любая попытка исказить его цену влечет прямые и значительные затраты из-за структуры AMM Curve.

Манипулирование EMA требует крупного обмена, который значительно смещает баланс пула. Это влечет существенное проскальзывание, где атакующий получает гораздо меньше того, что вложил, что приводит к гарантированным финансовым потерям. Кроме того, поскольку пулы Curve активно отслеживаются поисковиками и арбитражёрами, любое отклонение от справедливой рыночной цены, вероятно, будет быстро исправлено ради прибыли, что делает устойчивые манипуляции еще сложнее. Совокупные затраты и конкурентное арбитражное давление спроектированы так, чтобы перевесить любую потенциальную выгоду от эксплуатации нижестоящих протоколов, использующих оракул.

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

Почему оракул Curve устоял во время инцидента с deUSD


В недавнем инциденте оракул Chainlink для deUSD был непреднамеренно манипулирован во время сэндвич-атаки на пул deUSD/USDT. Результат: более $500,000 ликвидаций на развертывании Euler в Avalanche.

Это произошло потому, что лента Chainlink использовала средневзвешенную по объему цену (VWAP). Крупная сэндвич-сделка привела к скачку VWAP - поскольку манипулятивная сделка составила большую часть измеренного объема. В отличие от этого, внутренний оракул пула Curve едва пошевелился, как и задумано. Поскольку EMA Curve не поддается воздействию крупных внутриблочных сделок, он оставался стабильным на протяжении всего события. Подробности приведены ниже. Обратите внимание, что Oracle Price - это цена оракула пула, а VWAP Price - это скользящая 1-дневная VWAP цена пула.

Сравнение цены deUSD согласно оракулу Curve (синий) и оракулу Chainlink VWAP (желтый)

Как видно на графике, цена VWAP резко подскочила из-за большого объема обмена, который непропорционально повлиял на средневзвешенную по объему. В отличие от этого, оракул пула Curve держался стабильно, точно отражая цену, которую получили бы обычные пользователи с жесткими допусками проскальзывания. Если бы внешний протокол использовал встроенный оракул Curve, этого события, вероятно, можно было бы избежать.

Руководство для разработчиков: интеграция оракулов Curve


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

Пулы Curve предоставляют две ключевые функции:

  • price_oracle() – Цена EMA: Эта функция возвращает экспоненциальную скользящую среднюю, предоставляя сглаженную цену, которая обновляется с каждой сделкой. Это рекомендуемый источник для случаев использования, включающих оценку залога, ликвидации или расчеты - везде, где критично иметь сопротивление манипуляциям. Однако важно, чтобы ликвидность и объем торгов пула были довольно большими. В идеале больше, чем протокол, полагающийся на оракул, чтобы гарантировать, что оракул не может быть легко подвержен влиянию относительно защищаемой стоимости.
  • last_price() – Спотовая цена: Эта функция выводит необработанный результат самого последнего обмена. Хотя полезна для дашбордов и визуализации, она не безопасна для автоматизированного принятия решений из-за своей чувствительности к отдельным сделкам.

Разработчики могут обратиться к технической документации Curve или связаться с командой для помощи в реализации.


🔰 Помощь

Помощь и FAQ: https://resources.curve.finance/
Техническая документация: https://docs.curve.finance/

💬 Общение

Русскоязычное сообщество Curve

📰 Медиа

EN: Curve News Blog 🔹 Telegram Announcements 🔹 X

RU: Канал Михаила Егорова🔹 Curve News TG