Что такое блокчейн-оракул? Как смарт-контракты получают данные из реального мира | KTX Crypto Exchange

KTX
KTX
  • Обновлено
KTX Learn cover: Blockchain Oracles, showing external data sources connected through a network to a smart contract.

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

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

Почему смарт-контракт не может просто открыть веб-сайт

В Ethereum и аналогичных сетях узлы должны получать одинаковый результат из одной и той же транзакции и состояния. Обычный веб-сайт может измениться между запросами, стать недоступным или возвращать разные ответы разным посетителям. Если позволить каждому валидатору самостоятельно загружать актуальную веб-страницу во время выполнения, это нарушит согласованность общего результата. В документации Ethereum об оракулах объясняется эта граница между выполнением контракта и внешней информацией.

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

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

Проследите путь информации от источника до решения

Приложение, зависящее от цены, обычно включает несколько отдельных этапов:

  1. Наблюдение: биржи, торговые компании или другие поставщики формируют наблюдения за активом. Источники могут учитывать разные площадки, торговые часы или инструменты.
  2. Обработка: система оракула применяет правила агрегации и предоставления отчётности. Несколько операторов могут снизить зависимость от одного источника данных, но общие вышестоящие источники всё равно могут стать единой точкой отказа.
  3. Доставка: транзакция публикует значение либо отправитель передаёт аутентифицированный отчёт для проверки. Целевая сеть определяет, когда эта транзакция будет выполнена.
  4. Применение: использующий данные контракт проверяет идентификатор канала, единицы измерения и допустимый возраст данных, а затем применяет собственные правила заимствования, расчётов или другие правила.

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

External data sources pass through an oracle network to a smart contract, with separate checks for timestamp, data quality and contract rules.
Путь отчёта к контракту включает несколько отдельных проверок. Согласие по отчёту само по себе не может подтвердить состояние внешнего мира.

Для разных приложений нужны разные конструкции оракулов

Термины «push» и «pull» описывают, как обновления достигают приложения. Сами по себе они не показывают, является ли система централизованной или децентрализованной.

Конструкция Как поступает информация Что должно учитывать приложение
Push-канал Обновления публикуются в ончейн-канале. Контракты считывают его последнее доступное значение. Условия публикации, задержки транзакций и то, насколько старым может быть сохранённое наблюдение.
Pull-отчёт Отправитель получает отчёт и передаёт его, когда он требуется приложению. Аутентификация, возраст наблюдения и стоимость отправки обновления.
Оптимистичный оракул Предложенный ответ можно оспорить в течение установленного периода; споры рассматриваются в рамках определённого процесса. Чёткие критерии разрешения споров, стимулы для мониторинга, залоги и время до расчёта.

Chainlink описывает триггеры отклонения и heartbeat для обновлений своих push-каналов. Heartbeat не является обещанием того, что каждое обновление поступит несмотря на перегрузки или сбои. Оптимистичный оракул UMA вместо этого даёт участникам время оспорить предложенные ответы. Это может лучше подходить для определения исхода события, чем цена, которая немедленно требуется для сделки.

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

Как устаревшая цена может изменить ликвидацию

Рассмотрим упрощённую кредитную позицию: 10 ETH в качестве залога, долг в размере 12 000 долларов и порог ликвидации 80%. Предположим, что долларовая стоимость долга остаётся неизменной, а проценты и комиссии не учитываются.

При цене 2 000 долларов за ETH стоимость залога составляет 20 000 долларов, а долг — 60% от этой стоимости. Если цена ETH падает до 1 400 долларов, стоимость залога снижается до 14 000 долларов; теперь долг составляет около 85,7%, что выше предполагаемого порога. Позиция будет соответствовать условию ликвидации из этого примера, как только контракт примет такую цену.

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

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

Свежая подпись не обязательно означает свежую информацию

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

В рекомендациях по интеграции Pyth Pro различаются время обновления и актуальность отдельных каналов данных; также рекомендуется учитывать неопределённость в сообщаемых ценах. Действительная подпись подтверждает аутентичность отчёта в соответствии с применимыми правилами проверки; она не делает каждое значение текущим и не устраняет расхождения между рынками.

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

В некоторых сетях второго уровня дополнительной проблемой является возможность отправить транзакцию. Сбой секвенсора может помешать пользователям скорректировать позиции. В рекомендациях Chainlink по доступности секвенсора описываются проверки статуса и льготный период восстановления; одна лишь временная метка цены не решает проблему доступа.

На что обратить внимание, прежде чем полагаться на приложение

Узнайте точный канал данных и сеть, исходный рынок или источник отчётности, максимальный допустимый возраст данных и порядок действий во время сбоя. Проверьте, кто может заменить оракул или изменить эти ограничения. Формулировка «использует оракул» — это отправная точка для понимания протокола, а не оценка его безопасности.

Это же различие важно для токенизированных активов. Публикация стоимости чистых активов фонда не подтверждает хранение активов, юридическое право собственности или права на погашение. В нашем материале о Chainlink, Hanwha и инфраструктуре RWA объясняется, почему надёжная доставка данных и права на актив являются отдельными составляющими продукта.

Вы можете изучать рынки через KTX Crypto Exchange. Для любого продукта ознакомьтесь с его собственными правилами ценообразования и расчётов: значение ончейн-оракула не становится автоматически ценой, по которой будет исполнен ваш ордер.

Часто задаваемые вопросы

Означает ли использование оракула, что мне нужно покупать его токен?

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

Может ли оракул перемещать активы в моём кошельке?

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

Является ли цена оракула тем же самым, что и исполнимая котировка?

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

Является ли блокчейн-мост тем же самым, что и оракул?

Они могут использовать общую инфраструктуру обмена сообщениями и проверки. Мост обычно обеспечивает межсетевые переводы или передачу сообщений; оракул предоставляет приложению информацию. Их названия не означают одинаковых предположений о безопасности.

Может ли оракул сохранять конфиденциальность чувствительной деловой информации?

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

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

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 0 из 0

Еще есть вопросы? Отправить запрос