Оракулы в DeFi: как работают и почему из-за них можно потерять деньги

29 мая 2025 года пользователи протокола Euler потеряли более $500 000 на своих позициях. Не было ни взлома, ни бага в коде. Всё случилось из-за ошибки оракула — сервиса, который передал в смарт-контракты неверную цену стейблкоина deUSD. Это вызвало цепную реакцию: залоговые позиции были ликвидированы, а средства пользователей — утеряны.

В этот день произошёл сбой oracle Chainlink, из-за которого цена deUSD (стейблкоин, выпущенный Elixir) стала некорректно отображаться. Искусственное завышение цены вызвало ликвидации на сумму более $500 000 для пользователей, у которых был долг в deUSD

Такие истории происходят не только с новичками. Даже опытные DeFi-пользователи иногда недооценивают, насколько критичны оракулы для работы протоколов.


Что такое оракул в DeFi

В криптовалюте оракулы (oracles) - это сервисы, которые обеспечивают смарт-контрактам доступ к внешним данным из реального мира. Они выступают посредниками, передавая информацию извне в блокчейн и наоборот, что позволяет смарт-контрактам взаимодействовать с внешними системами и событиями. 

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

В лендинговых протоколах, DEX, деривативах и других DeFi-сервисах оракулы определяют, по какой цене будет выдан займ, когда наступит ликвидация и сколько пользователь получит при обмене.

Ошибка в оракуле может стоить миллионы.


Виды оракулов

1. Рыночный оракул (Market Price Oracle)

Как работает:Собирает цены актива с разных DEX и CEX, создаёт единый индекс и передаёт его в смарт-контракты.

Плюсы:

  • Динамически реагирует на изменения рынка.

Минусы:

  • Уязвим к резким просадкам на отдельных биржах.
  • Может спровоцировать ликвидации из-за временной паники.

Пример:

RedStone Oracles использует до 21 источника для расчёта цены. Если в паре с низкой ликвидностью цена резко упадёт, эта ценовая просадка попадёт в индекс цены.

https://app.redstone.finance/app/token/ETH/

На скрине -  цена Ethereum а также, с каких именно бирж подтягиваются цены.


2. Обменный оракул (Redemption Price / NAV Oracle)

Как работает:

Цена актива рассчитывается не по рыночному курсу, а на основе его внутренней стоимости (Net Asset Value) и обеспечения.

Чаще всего используется для:

  • LST (Liquid Staking Tokens)
  • LRT (Liquid Restaking Tokens)
  • Доходных стейблкоинов

Плюсы:

  • Не зависит от краткосрочных рыночных колебаний.
  • Защищает от резких ликвидаций из-за паники.

Минусы:

  • Может давать некорректную цену при ошибках в расчётах обеспечения.

Пример:

Оракул wstETH/stETH от Chainlink  для определения стоимости wstETH  использует данные об обеспечении застейканных токенов нативными ETH.

https://data.chain.link/feeds/arbitrum/mainnet/wsteth-steth%20exchangerate

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


3. Оракул с фиксированной ценой (Fixed-Price Oracle/ hard-coded )

Как работает:

Жёстко привязывает цену одного актива к другому (например, 1 стейблкоин = 1 доллар).

Плюсы:

  • Простота.
  • Нет зависимости от рыночной волатильности.

Минусы:

  • Игнорирует реальное изменение цены.
  • Может создавать иллюзию “здорового” Health Factor.

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

Но такая настройка может игнорировать рыночные изменения и создавать иллюзию здорового Health Factor, что произошло в протоколе Morpho, где  пользователи использовали агрессивный лупинг стратегии на USD0++. Когда цена этого токена обвалилась, оракул был жестко привязан к единице и все еще показывал, что у пользователей здоровый Health Factor. Пользователи не смогли вовремя среагировать на отвязку цены (депег).

Когда пользователи обнаружили, что цена залога сильно упала, они начали пробовать выводить свой залог и закрывать позиции. При попытке вывести средства происходил вызов функции fresh update и система пересчитывала реальную цену USD++, Health Factor сразу становился ниже 1, и система ликвидировала залог пользователей.

Пример: Morpho и USD0++

  • В протоколе Morpho для рынка с USD0++ (доходный стейблкоин) использовался орaкул с жёстко зафиксированной ценой 1 USD = 1 USD0++. Протокол не получал данные с рынка — всегда «привязывал» цену к единице. Так создаётся впечатление “здорового” Health Factor, пока цена действительно не обваливается.Fixed-Price Oracle  указывается как один из типов, поддерживаемых в Morpho.docs.morpho.org

Пример : Ошибка конфигурации оракула в Morpho (PAXG/USDC)

  • 13 октября 2024 года в Morpho пара  PAXG/USDC была взломана из-за неправильной настройки оракула. ​​Эта уязвимость позволила злоумышленнику вывести 230 000 долларов США, воспользовавшись завышенной оценкой золота, вызванной неверным расчётом коэффициента SCALE_FACTOR в ценовом оракуле. Проблема возникла из-за неверного понимания разницы в десятичных дробях между токенами PAXG и USDC.

Кто “поставляет” такие оракулы?

  • В случае с Morpho — это сама платформа, либо кураторы рынка, которые настраивают параметры — выбирают, какой тип оракула использовать: Chainlink, Exchange Rate, или Fixed-Price Oracle
  • Другие протоколы, такие как Aave, вероятнее всего настраивают такие оракулы через настройки контрактов, определяемые разработчиками или управляющими DAO.

4. TWAP-оракул (Time-Weighted Average Price)

Оракул разработан  для PT токенов (с фиксированной доходностью) протокола Pendle.

Оракул TWAP -  это оракул, который предоставляет информацию о средней цене актива за определенный период. Например, если установлен 7-дневный интервал для оракула TWAP, оракул возвращает среднюю цену актива за семь дней.

Как работает:

TWAP передаёт усреднённую цену актива за определённый период (например, 7 или 9 дней), снижая риск манипуляций.

Плюсы:

  • Защищает от кратковременных ценовых атак.
  • Стабилизирует расчёт залога.

Минусы:

  • Реагирует с задержкой — при резком падении может не успеть скорректировать цену.

PT токен -  это токен, который торгуется к базовому активу, в котором зафиксирована доходность. Со временем цена PT токен растет и ко дню экспирации его цена становится равной цене базового актива. Важно заметить, что PT токен растет нелинейно, у него могут быть просадки в цене. На графике это видно.

https://governance.aave.com/t/arfc-pendle-principal-token-risk-oracle/20962

Такой способ подсчета цены выбран для того, чтобы манипуляции, которые могут происходить на рынке PT токенов, никак не повлияли на позицию PT токенов в  лендинг протоколе. Даже если возникнет небольшая просадка по PT токену, оракул возьмет усредненное значение. Оракул, предоставленный Pendle, может быть легко интегрирован в разные DeFi протоколы.

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


Сравнительная таблица оракулов


Как избежать проблем

  1. Проверяйте тип оракула в интерфейсе протокола.
  2. Читайте документацию — многие протоколы указывают тип оракула для каждой пары.
  3. Оценивайте риски — даже безопасный на первый взгляд оракул может повести себя неожиданно.

Примеры Оракулов:

Посмотрим, где указаны типы оракулов в лендинговых протоколах.

Для пары SLVL-USD используется обменный oracle.

https://app.morpho.org/ethereum/market/0x8b1bc4d682b04a16309a8adf77b35de0c42063a7944016cfc37a79ccac0007b6/slvlusd-usdc

На PT токен  указан Pendel Oracle.

https://app.morpho.org/ethereum/market/0xa458018cf1a6e77ebbcc40ba5776ac7990e523b7cc5d0c1e740a4bbc13190d8f/pt-usds-14aug2025-dai

На Euler для цены RLUSD используется обменный Oracle, в то время как для цены USDT используется рыночный Oracle.

https://app.euler.finance/positions/0xaabc07A47D2a63a9b06A7924a0780c2F3cAE7bf9/0xe1Ce9AF672f8854845E5474400B6ddC7AE458a10?network=ethereum

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

Вот что можно прочитать в документации AAVE:

Типы используемых оракулов
В настоящее время в Aave используются два основных типа оракулов:

1. Chainlink Ценовая лента:
Оракулы Chainlink предоставляют высоконадёжные, децентрализованные данные о ценах для различных активов. Эти потоки цен собирают данные из множества источников и агрегируют их, сводя к минимуму риск манипуляций или перебоев в работе.

2. Оракул цен коррелированных  активов (CAPO) — CAPO предназначен для активов, чья цена сильно коррелирует с ценой другого актива. Например, обёрнутые токены могут использовать этот оракул для зеркального отслеживания цены базового актива. CAPO применяет специализированную логику для корректировки и передачи цен, которые следуют за движением этих коррелированных активов. Подробнее об его реализации можно узнать на GitHub.


💡 Вывод:

Оракул — это “глаз” смарт-контракта. Если он видит искажённую картину, ваш депозит под угрозой. Перед тем как внести деньги в DeFi-протокол, убедитесь, что понимаете, как именно он получает цену для вашего залога.

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