DeFi
November 26, 2024

Всё, что нужно знать о ценовых оракулах в DeFi

🧵 Перевод треда Stephen DeFi Dojo в X.

Прочтение статьи поможет узнать:

  • Какие бывают типы оракулов
  • Как узнать какой ценовой оракул использует DeFi приложение
  • Как избежать ликвидации
  • Как ответственно использовать кредитное плечо для фарминга

ЧТО ТАКОЕ ОРАКУЛ?

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

Поэтому я был рад узнать, что это не какие-то загадочные механизмы, а на самом деле всё очень просто.

Оракул — это источник ценовой информации. Вот и всё.

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

Общие оракулы берут данные из таких источников, как @chainlink, @redstone_defi и @PythNetwork.

ДВА ТИПА ОРАКУЛОВ

Существует два основных типа оракулов: с рыночным курсом и с обменным курсом.

  • Оракулы с рыночным курсом используют индекс цен из различных источников, обычно смешанных между децентрализованными биржами (DEX) и централизованными биржами (CEX).
  • Оракулы с обменным курсом вместо использования индекса цен с бирж используют внутреннюю стоимость актива, обычно определяемую тем, чем этот актив обеспечен.

Давайте разберёмся подробнее 👇

ОРАКУЛЫ С РЫНОЧНЫМ КУРСОМ

Они же market price oracle.

Как уже сказано, эти оракулы используют индекс цен из живых и активных рынков.

Оракул Redstone для $ETH

Вот пример оракула $ETH от @redstone_defi, который использует ДВАДЦАТЬ ОДИН источник ценовой информации для создания единой составной индикативной цены, которую протоколы могут использовать по мере необходимости.

Важно понимать, что оракулы с рыночным курсом чувствительны к отклонениям, поскольку они определяются тем, как давление продавцов и покупателей на рынке влияет на цену.

Если, скажем, wstETH отклонится на 5% из-за того, что люди его продают во время "чёрного лебедя", и у вас кредитное плечо wstETH/ETH 10x, ВАС ЛИКВИДИРУЮТ, если этот протокол и рынок используют оракул с рыночным курсом.

ОРАКУЛЫ С ОБМЕННЫМ КУРСОМ

Они же redemption price oracle.

У этих оракулов есть три популярных названия:

  • Оракул чистой стоимости активов (NAV Oracle)
  • Фундаментальный оракул (fundamental oracle)
  • Оракул обменного курса (exchange rate oracle)

Все они означают одно и то же: цена определяется НЕ рыночным курсом, а СТОИМОСТЬЮ актива, обычно основанной на том, чем этот актив обеспечен.

Они чаще всего ассоциируются с LST (токены с ликвидным стейкингом) и LRT (токены с ликвидным рестейкингом), потому что оба эти производные инструменты полностью обеспечены застейканными или рестейканными формами $ETH.

Оракул для wstETH

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

Обратите внимание, что это не индекс цен, и график никогда не падает.

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

КАК ОПРЕДЕЛИТЬ, КАКОЙ ОРАКУЛ ИСПОЛЬЗУЕТСЯ?

Это вопрос на миллиард долларов, буквально. Миллиарды были либо потеряны, либо спасены в зависимости от типа оракула, используемого на данном рынке.

Хотя можно исследовать контракты, большинство протоколов заимствования делают это достаточно просто для понимания.

Возьмём, к примеру, Morpho Labs:

Пример Exchange Rate Oracle на Morpho

Здесь вы можете ясно видеть, что используется оракул обменного курса на этом рынке sUSDe/DAI, что означает, что вас не ликвидируют из-за отклонений.

Однако это не значит, что каждый оракул Morpho — это оракул обменного курса.

Пример ценового оракула Redstone Oracle на Morpho

Вот другой рынок sUSDe, где заимствуется USDT, и мы видим оракул Redstone вместо "Exchange Rate".

Когда вы нажимаете на базовый контракт оракула (sUSDe), вы перенаправляетесь на контракт в Etherscan.

Это может показаться пугающим, но не беспокойтесь.

ИССЛЕДОВАНИЕ ОРАКУЛОВ НА ETHERSCAN

Для этого оракула рынка sUSDe/USDT нас перенаправляют сюда:

Контракт в Etherscan

Первый явный признак того, что это оракул с рыночным курсом — отсутствие функций в разделе "Read as Proxy" и наличие упоминанияRedstone Price Feed в description.

Оракул обменного курса будет иметь некоторые функции, которые выводят определённую информацию. Давайте найдём пример.

Указание оракула в Silo FInance

Silo Finance делает это очень просто. Здесь вы можете увидеть, что этот оракул $ezETH указан внизу информации о залоге и долге для каждого рынка.

Если мы нажмём на оракул Chainlink и перейдём в "Contract", вы увидите, что на этот раз у нас есть множество функций для чтения.

Read Contract Etherscan

Это отличный признак того, что мы используем оракул обменного курса, но давайте убедимся.

description в контракте указыает на курс обмена ezETH / ETH

Самый простой способ — нажать на "description". Здесь просто говорится, что это обменный курс.

Я также ищу функцию "latestAnswer" и затем сверяю её с фактическим обменным курсом.

Ответ функции latestAnswer

Здесь "latestAnswer" даёт нам 1015757....

Что намного лучше, чем рыночный курс 1.0125 в сети.

Aave также позволяет легко просматривать оракулы.

Указание оракула на AAVE

Нажав на детали залога, мы можем увидеть ценовой оракул вверху.

И вы можете нажать на него, чтобы перейти к контракту:

Read Contract

Помните, что делать дальше?

Нажмите на "Read Contract", чтобы посмотреть, есть ли какие-либо функции, которые расскажут нам об оракуле.

description в контракте

Есть! Если вы проверите "description", мы получим "weETH / eETH (ETH) /USD"

Это говорит нам о том, что они используют соотношение weETH к ETH и используют оракул ETH к USD для долларовой цены.

Но давайте сделаем ещё один шаг, чтобы подтвердить ВСЁ и сделать вас экспертом по оракулам.

descriotion ля weETH / eETH контракта

В этом контракте weETH вы можете увидеть функцию "RATIO PROVIDER".

Функция RATIO PROVIDER в контракте

Если мы нажмём на эту функцию и перейдём в "Read Contract", мы найдём наш надёжный старый "Description" и "latestAnswer", подтверждающие, что это обменный курс между weETH и eETH.

НО МЫ НЕ МОЖЕМ НА ЭТОМ ОСТАНОВИТЬСЯ.

Если оракул weETH использует оракул eETH<>USD, то вы всё ещё можете быть ликвидированы, если eETH отклонится, поэтому нам нужно знать, что они используют для оценки актива в USD.

Функция BASE_TO_USD_AGGREGATOR

Для этого мы нажимаем на "BASE_TO_USD_AGGREGATOR", потому что мы хотим посмотреть на контракт, который оценивает базовый (eETH) в USD.

description контракта говорит о ETH / USD курсе

И ХОРОШИЕ НОВОСТИ! Это фид ETH<>USD!

Это означает, что этот оракул weETH использует обменный курс weETH<>eETH, а затем оценивает eETH так, как если бы это был ETH.

Это было сложно, но не слишком! И это все сложности, которые стоило разобрать.

ЗАКЛЮЧЕНИЕ

Я знаю, что это может показаться сложным, поэтому вот несколько хороших практических правил:

  • Если в "Read Contract" или "Read as proxy" есть функции получения курса типа get_rate(), latestAnswer или подобные, которые выдают значения, похожие на курс, это, вероятно, оракул обменного курса. Найти описание функций получения обменного курса часто можно в документации проекта.
  • Если в "Read Contract" или "Read as proxy" нет функций, это, вероятно, оракул с рыночным курсом.
  • Всегда проверяйте функцию "description" для дополнительной проверки.

Если мы вернёмся к тому примеру sUSDe/USDT и нажмём "Read as Proxy", мы можем увидеть в "description", что используется ценовой источник Redstone.

А затем мы можем нажать "latestAnswer", чтобы подтвердить, что вывод — это рыночный курс 1.0947, а не фактический обменный курс, который в настоящее время составляет 1.0952.

ИТОГ:

  • Если в "Read Contract" ничего нет, проверьте "Read as Proxy"
  • Всегда сначала проверяйте "description"
  • Сверяйте с "latestAnswer"

И САМОЕ ГЛАВНОЕ:

ЕСЛИ СОМНЕВАЕТЕСЬ, СПРОСИТЕ У КОМАНДЫ!

Существуют некоторые протоколы, которые не делают оракулы легко доступными для просмотра.

В этих случаях лучше всего зайти в Discord, написать в Twitter или Telegram и попросить команду предоставить адрес контракта оракула, чтобы вы могли проверить и убедиться, с чем имеете дело.

Это может сэкономить вам много денег.

СПАСИБО ЗА ПРОЧТЕНИЕ!

Подписался на канал и умнее сразу стал!