Только в образовательных целях; не является инвестиционным советом или инвестиционной рекомендацией. Инвестиции могут привести к убыткам.
Краткий ответ
Блокчейн-оракул предоставляет контракту аутентифицированное утверждение о данных, которые невозможно получить из детерминированного перехода состояния сети. Ценовой фид может сообщать рыночный ориентир, pull-оракул может проверять подписанное обновление, переданное пользователем, а оптимистический оракул может принимать обеспеченное залогом утверждение, если оно не было оспорено. Проверяемая случайность и межсетевые сообщения тоже относятся к системам внешних входных данных, но их утверждения и модели безопасности нельзя отождествлять с ценовыми фидами.
Публикация значения в сети доказывает, что транзакция, подпись, кворум, доказательство или результат спора удовлетворили заданным правилам. Она не доказывает криптографически объективную истинность внешней рыночной цены, погодного события или человеческого суждения. Полная цепочка доверия охватывает наблюдаемое явление, источники и торговые площадки, поставщиков данных, агрегацию, аутентификацию отчета, доставку, ончейн-прокси или верификатор, проверки потребителя и хозяйственное действие, перемещающее стоимость.
Децентрализацию следует оценивать отдельно на каждом уровне. Множество подписантов могут использовать один API, биржу, облачного провайдера, оператора или администратора. Свежая подписанная медиана все равно может относиться к неверной паре или масштабу, отражать неликвидный рынок либо быть небезопасной для размера операции потребителя. За идентичность, единицы, статус, временные метки, доступность L2, лимиты риска, резервный режим и восстановление отвечает потребитель данных.
Как это работает
- Зафиксируйте сеть и блок, контракт и действие потребителя, точный адрес фида или прокси и идентификатор фида, версию реализации, пару базового и котируемого активов, число десятичных разрядов или показатель степени, часы работы рынка и стоимость под риском.
- Проследите всю цепочку доверия от явления и торговых площадок через поставщиков данных, агрегацию источников, подписантов или кворум, доставку, ончейн-проверку, управление прокси и логику потребителя; отдельно проверьте независимость источников, операторов, инфраструктуры и администраторов.
- Декодируйте фактически развернутый интерфейс и отчет. Проверьте идентичность фида, подпись или доказательство и домен, последовательность или раунд, знаковое значение, статус или доверительный интервал, время источника, время ончейн-обновления, защиту от повтора, поведение при ошибке и состояние обновления контракта.
- Нормализуйте единицы один раз и явно проверяйте диапазон, знак и время. Различайте время наблюдения или публикации источником, формирования отчета, включения в исходную сеть, финализации ретрансляции, обновления в целевой сети и время блока потребителя.
- Применяйте зависящие от действия ограничения
maxAge, отклонения, доверия и сравнения источников. В поддерживаемых развертываниях L2 отдельно проверяйте состояние секвенсора и период ожидания после восстановления; для составного значения ограничивайте свежесть самой старой обязательной зависимостью. - Сравнивайте ориентир с исполнимой глубиной рынка и оценивайте стоимость манипуляции или подкупа относительно риска потребителя при выдаче займа, выпуске актива, ликвидации, торговле или расчете. Спотовую цену AMM и построение TWAP рассматривайте с учетом конкретного пула и версии.
- Определите нормальный, деградированный, приостановленный режимы и восстановление отдельно для каждого действия; по возможности сохраняйте погашение долга и внесение обеспечения, отслеживайте источники и конфигурацию, отрабатывайте отсутствующие, устаревшие, неверные и манипулированные отчеты, а после восстановления сверяйте все затронутые остатки и действия.
Push и pull описывают способы доставки, а не универсальную модель оплаты или доверия. Поставщик может создать подписанный отчет, а любой пользователь — передать его и оплатить обновление. Периодическое обновление и порог отклонения могут инициировать публикацию, но не гарантируют доставку и не задают предел свежести для потребителя. Резервное или последнее корректное значение — это управляемый деградированный режим: направление котировки, единицы, возраст, независимость и разрешенные действия необходимо проверить заново.
Разобранные примеры
- Порог ликвидации. Позиция содержит
10 ETHобеспечения, цена оракула равна3,000 USD/ETH, долг —18,000 USD, а порог ликвидации —75%. Стоимость обеспечения равна30,000 USD, LTV —60%, аhealthFactor = 10 * 3,000 * 0.75 / 18,000 = 1.25. Цена срабатывания равна18,000 / (10 * 0.75) = 2,400 USD/ETH. При2,300 USD/ETHфактор здоровья равен0.9583333333, а долг к обеспечению —78.2608695652%: позицию можно ликвидировать, но номинальная стоимость обеспечения23,000 USDвсе еще превышает долг без учета бонуса, комиссий и результата исполнения. - Ошибка единиц. Исходное значение
250,000,000,000с8 decimalsозначает2,500 USD. Если вместо этого разделить его на10^18, получится0.00000025 USD, то есть цена будет занижена в10^10раз. Корректная подпись и свежая временная метка не исправляют ошибку единиц у потребителя. - Выбор агрегации. Наблюдения
[99, 100, 100, 101, 160]имеют медиану100и среднее арифметическое112, что на12%выше медианы. В этом учебном наборе медиана устойчива к одному высокому выбросу, но если все пять поставщиков зависят от одного скомпрометированного API и сообщают130, медиана также будет равна130. - Свежесть по действию. При
consumerClock = 1,800,000,000отчет сsourceTimestamp = 1,799,998,200имеет возрастage = 1,800 seconds. Новый заем сmaxAge = 900 secondsотклонит его из-за превышения на900 seconds; путь погашения сmaxAge = 3,600 secondsпримет его с запасом1,800 seconds. Один отчет может быть опасен для увеличения риска, но приемлем для его сокращения.
Риски
- Выбрана неверная сеть, среда, реализация или развертывание.
- Выбран неверный прокси, агрегатор, идентификатор фида, актив или версия контракта.
- Перепутано направление базового и котируемого активов или валюта измерения.
- Не совпадают десятичные разряды, показатель степени, формат фиксированной точки, знак, округление или единицы.
- Принимается нулевое, отрицательное, выходящее за область, переполненное или усеченное значение.
- Принимается отсутствующая, нулевая, будущая, перенесенная или неверно определенная временная метка.
- Ограничение свежести слишком мягкое для актива и действия.
- Ограничение свежести слишком жесткое, вызывает отказ в обслуживании или блокирует снижение риска.
- Периодическое обновление или порог отклонения принимается за гарантию уровня сервиса.
- Игнорируются закрытие рынка, корпоративное действие, потеря привязки, сбой площадки или семантика перенесенных данных.
- Несколько поставщиков зависят от одного API, биржи, облака, оператора, пути ключей или методологии.
- Нарушаются порог подписантов, кворум, хранение ключей, аутентификация отчета, домен или защита от повтора.
- Правила агрегации, взвешивания, выбросов, доверия или выбора источников непригодны.
- Рынок источника неликвиден, содержит фиктивные сделки, фрагментирован, устарел или поддается манипуляции при защищаемом объеме.
- Спотовая или короткая TWAP-манипуляция, контроль нескольких блоков, порядок, цензура либо MEV изменяют входное значение.
- Сбой поставщика, ретранслятора, газа, перегрузка, реорганизация или остановка сети задерживают доставку.
- Не учтены состояние секвенсора L2, период восстановления, часы межсетевой ретрансляции или зависимость от финальности.
- Незаметно меняются прокси, администратор, набор подписантов, конфигурация, миграция, пауза или статус устаревания фида.
- Резервный источник устарел, коррелирован, имеет иной масштаб, циклическую зависимость или включается небезопасным открытым либо всеобъемлющим закрытым отказом.
- Риск потребителя превышает стоимость манипуляции или подкупа, а мониторинг, лимиты, пауза, восстановление, ликвидация и сверка безнадежного долга не срабатывают.
Распространенные заблуждения
- «Оракул предсказывает будущее». Большинство оракулов аутентифицируют наблюдения, отчеты, доказательства или разрешенные утверждения о заданном времени и объекте.
- «Подписанные или ончейн-данные объективно истинны». Аутентификация и консенсус доказывают соблюдение правил, но не экономическую корректность внешнего факта.
- «Больше узлов автоматически означает независимую децентрализацию». Источники, операторы, инфраструктура, ключи и управление могут оставаться коррелированными.
- «Самое свежее значение — справедливая исполнимая цена». Свежесть не подтверждает направление котировки, единицы, доверие, ликвидность или исполнимую глубину.
- «Надежный поставщик устраняет интеграционный риск потребителя». Приложение по-прежнему отвечает за идентичность развертывания, декодирование, свежесть, шлюзы L2, риск, режимы отказа и восстановление.
Связанные темы
Источники
- Oracles - Ethereum.org (дата обращения: 2026-08-13)
- Chainlink Data Feeds - Chainlink Documentation (дата обращения: 2026-08-13)
- Data Feeds API Reference - Chainlink Documentation (дата обращения: 2026-08-13)
- Developer Responsibilities: Market Integrity and Application Code Risks - Chainlink Documentation (дата обращения: 2026-08-13)
- Selecting Quality Data Feeds - Chainlink Documentation (дата обращения: 2026-08-13)
- How to Use Real-Time Data in EVM Contracts - Pyth Developer Hub (дата обращения: 2026-08-13)
- Uniswap v2 Core - Uniswap (дата обращения: 2026-08-13)
- SC03:2026 Price Oracle Manipulation - OWASP Smart Contract Security (дата обращения: 2026-08-13)