Материал проверен 14 октября 2026?
БК

ГЛАВНАЯ / ИНСТРУКЦИИ / ORACLE DEVIATION И STALE PRICE: КОГДА ПРОТОКОЛ МОЖЕТ ОСТАНОВИТЬ ОПЕРАЦИЮ

Oracle deviation и stale price: когда протокол может остановить операцию

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

Устаревшее значение

Возраст ответа измеряют по timestamp, а не по экрану

Для feed с раундами контракт может получить updatedAt вместе с answer через latestRoundData. Consumer сравнивает timestamp с текущим временем и пределом, выбранным для собственной логики. Отображение цены в интерфейсе или факт успешного чтения контракта не доказывают, что значение достаточно свежее.

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

  • сверьте timestamp onchain;
  • найдите допустимый возраст именно этого приложения;
  • проверьте поведение при отказе основного источника.
Отклонение

Порог отклонения бывает настройкой обновления или проверкой приложения

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

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

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

Circuit breaker ограничивает режим, но не исправляет источник

Проверка min/max, допустимого изменения или нескольких источников может предотвратить отдельные нежелательные действия. Однако документация Chainlink отмечает, что minAnswer и maxAnswer на большинстве feeds больше не ограничивают чтение ответа; приложению могут потребоваться собственные границы и мониторинг.

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

Диагностика

Сначала определите уровень, на котором сработала защита

Сверьте сеть, адрес feed, answer, decimals и updatedAt. Затем прочитайте revert reason или событие, если оно доступно, и сопоставьте его с кодом consumer и конфигурацией протокола. Отдельно проверьте, не произошёл ли сбой RPC, sequencer или самого рынка.

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

  • отделите ошибку источника от отказа RPC и проверки приложения;
  • проверьте официальный статус и onchain-события;
  • дождитесь объяснённого возобновления, если риск не ясен.
FAQ

Частые вопросы

Отклонение Chainlink автоматически приостанавливает протокол?

Нет. Порог обновления feed и проверка потребителя – разные механизмы.

Если цена устарела, приложение обязательно заморозит средства?

Нет. Реакция зависит от кода: отказ отдельного действия, ограниченный режим, fallback или отсутствие проверки.

minAnswer и maxAnswer всегда ограничивают цену?

Нет. В документации Chainlink сказано, что на большинстве feeds эти значения больше не используются как пределы чтения.

Итоговая проверка

Чек-лист: oracle deviation и stale price: когда протокол может остановить операцию

  • сверены адрес feed, сеть и timestamp;
  • найдены собственные лимиты приложения;
  • порог обновления отличён от circuit breaker;
  • понятны fallback и условие паузы;
  • проверены причина отказа и официальный статус протокола.

Материал подготовлен редакцией сайта и проверен 14 октября 2026 года. Условия бирж, кошельков и блокчейн-сетей могут меняться. Перед операцией сверяйте данные в интерфейсе выбранного сервиса.