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

Оракул — механизм доставки внешних данных в смарт-контракт; для кредитных протоколов это цены активов, от которых напрямую зависят условия ликвидации позиций пользователей.

Почему это важно именно вам

В кредитном протоколе ваша позиция ликвидируется, когда стоимость залога по данным оракула падает ниже порога, а реальная рыночная цена значения не имеет — контракт видит только то, что сообщил оракул. Манипуляция или сбой источника приводят к ликвидации при формально безопасном уровне обеспечения.

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

Схема из четырёх шагов: от поиска оракула до оценки запаса обеспечения
Схема из четырёх шагов: от поиска оракула до оценки запаса обеспечения

Что проверять

Параметр На что смотреть
Тип источника Внешний поставщик данных или цена из пула на самой площадке
Число источников Один канал или агрегация нескольких независимых
Частота обновления Как часто и при каком отклонении цена пересчитывается
Поведение при сбое Заморозка операций или работа по устаревшему значению

Два принципиально разных подхода

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

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

Где искать информацию

Документация протокола обычно называет используемый оракул прямо. Дальше проверяйте адрес контракта-оракула в обозревателе: там видны последние обновления цены и их частота, тогда как сопоставьте публикуемое значение с рыночным на нескольких площадках — расхождение более чем на доли процента требует объяснения.

Признаки слабой конструкции

  • Единственный источник данных без резервного канала
  • Цена берётся из пула с небольшим объёмом ликвидности
  • Отсутствие описания поведения при недоступности источника
  • Возможность обновить адрес оракула владельцем без задержки

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

Разные оракулы для разных активов

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

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

Задержка обновления

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

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

Защитные механизмы

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

История инцидентов протокола

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

Что делать при сомнениях

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

Смежные темы разобраны у нас. Вот основные. Общий раздел — DeFi и децентрализованные площадки. Шире — статьи про криптокошельки. Чтение контракта разбирает материал как читать данные смарт-контракта, а выбор диапазона — статья как выбрать диапазон в пуле.

Вопросы и ответы

Можно ли проверить оракул без знания кода?

Базовую часть — да. Название источника есть в документации, адрес контракта открывается в обозревателе, а частота обновлений видна по истории транзакций. Сравнение публикуемой цены с рыночной тоже не требует подготовки и даёт больше всего информации.

Что происходит при недоступности источника?

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

Влияет ли выбор оракула на доходность?

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

Вердикт

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

Контракты проверяйте напрямую. Блокчейн-обозреватель Etherscan и агрегатор показателей протоколов DefiLlama позволяют изучить контракт оракула и сопоставить данные с рыночными.

Олег Романов, автор Cryptium. Разбор DeFi и доходных стратегий. Больше материалов — в Telegram-канале t.me/cryptiumru.