Что такое оракулы в криптовалюте?
Оракулы — это системы, которые передают во внеблокчейновые приложения данные из внешних источников, информацию из офчейн-систем или сведения о реальных событиях, чтобы смарт-контракты могли использовать данные, еще не сохраненные в блокчейне.В криптовалюте оракул может предоставлять цены активов, процентные ставки, подтверждения резервов, данные о погоде, спортивные результаты, сигналы идентификации, случайные числа, кроссчейн-сообщения, подтверждения платежей и другие данные, необходимые смарт-контракту.В документации Ethereum об оракулах объясняется, что смарт-контракты по умолчанию не могут получать информацию вне блокчейна и для передачи внешних данных ончейн им нужны оракулы.
Это ограничение связано с тем, что блокчейны предназначены для согласования данных, которые каждый узел-валидатор может проверить одинаковым образом.Смарт-контракт не может просто обращаться к обычному API веб-сайта по запросу: разные узлы могут получить разные результаты, данные в разное время или не получить ответ вовсе.Оракулы решают эту проблему: собирают данные вне блокчейна, проверяют, форматируют и подписывают их, а затем передают смарт-контрактам в форме, которую блокчейн может обработать.Наиболее распространенное применение оракулов в криптовалюте — передача ценовых данных в DeFi.Кредитному протоколу может понадобиться ценовой оракул, чтобы определить, достаточно ли обеспечения или позицию следует ликвидировать.Протоколу деривативов может понадобиться оракул для расчета по контракту на основе рыночной цены.Системе стейблкоина может понадобиться оракул для оценки обеспечения и управления рисками.Без оракулов многие смарт-контракты могли бы работать только с данными, уже содержащимися в блокчейне.С оракулами смарт-контракты могут реагировать на рынки, события и данные из внешнего мира.Главное об оракулах
- Оракулы связывают смарт-контракты с внешними данными и офчейн-событиями.
- Оракулы необходимы, поскольку смарт-контракты по умолчанию не могут напрямую обращаться к обычным веб-API или закрытым базам данных.
- Ценовые потоки — наиболее распространенный сценарий использования оракулов в DeFi.
- Оракулы могут поддерживать кредитование, деривативы, стейблкоины, страхование, токенизированные активы, рынки прогнозов, игры, автоматизацию и кроссчейн-приложения.
- Оракулы могут быть централизованными, децентрализованными, разрешительными, безразрешительными, первичными, сторонними, push-, pull- или гибридными.
- Риски оракулов существенны: из-за неверных данных смарт-контракты могут автоматически принимать ошибочные решения.
- Манипулирование ценовыми оракулами OWASP относит к основным рискам безопасности смарт-контрактов.
- Надежная архитектура оракула предусматривает несколько источников данных, тщательную проверку, прозрачную методологию, правила обновления, резервную логику и мониторинг.
- Оракул не делает внешние данные автоматически достоверными и не требующими доверия.
- Оракул создает слой доверия и проверки между логикой блокчейна и внешним миром.
Зачем блокчейнам нужны оракулы
Блокчейнам нужны оракулы, поскольку смарт-контракты по своей архитектуре изолированы от внешнего мира.Такая изоляция помогает блокчейнам сохранять детерминированность.Детерминированность означает, что каждый честный узел должен обработать одну и ту же транзакцию и получить одинаковый результат.Если бы контракт мог напрямую обращаться к любому сайту, один узел мог бы получить ответ, отличный от ответа другого узла.Один узел мог бы получить данные с задержкой.Доступ другому узлу мог бы заблокировать сайт.Еще один узел мог бы получить искаженный ответ.Это нарушило бы консенсус, необходимый для работы блокчейна.Оракулы создают контролируемый мост между офчейн-информацией и ончейн-исполнением.Они преобразуют внешнюю информацию в ончейн-данные, которые могут читать смарт-контракты.Как работают оракулы
Работа оракула обычно начинается с запроса данных или запланированного обновления.Оракул собирает информацию из одного или нескольких источников за пределами блокчейна.Источниками могут быть торговые площадки, поставщики данных, API, датчики, серверы, агенты отчетности, валидаторы или другие блокчейн-сети.Оракул проверяет, фильтрует, агрегирует или подтверждает данные в соответствии со своей архитектурой.Затем оракул подписывает результат или отправляет его в ончейн-контракт.Смарт-контракт считывает значение, предоставленное оракулом, и использует его в своей логике.Например, кредитный контракт может получить цену обеспечения и определить, в каком состоянии находится позиция заемщика.Контракт на деривативы может получить расчетную цену и определить итоговую выплату.Игровой контракт может получить случайное число и определить исход игры.Качество работы оракула зависит от качества источников, правил обновления, модели безопасности, стимулов и механизмов обработки сбоев.Проблема оракула
Проблема оракула — это сложность передачи реальных данных в блокчейн без чрезмерного доверия, риска манипуляции или единой точки отказа.Блокчейн может проверять цифровые подписи, балансы и правила смарт-контрактов.Но он не может самостоятельно проверить, верны ли реальная цена, погодные данные, юридический факт или спортивный результат, если эту информацию не предоставит оракул.Это означает, что смарт-контракт может быть децентрализованным, но при этом зависеть от не полностью децентрализованного источника данных.Если оракул ошибается, запаздывает, подвергается манипуляции или не работает, смарт-контракт может исполниться неправильно.Проблема оракула особенно важна для DeFi, поскольку финансовые контракты часто автоматически реагируют на ценовые данные.Ошибочная цена может привести к некорректным ликвидациям, несправедливым сделкам, неправильным выплатам или неплатежеспособности протокола.Решение проблемы оракула обычно заключается в снижении доверия, а не в его полном устранении.Надежные системы оракулов стремятся сделать передачу неверных данных дорогостоящей, заметной и сложной для использования в атаке.Типы оракулов
В криптовалюте существует несколько типов оракулов.Входящий оракул передает внешние данные в блокчейн.Исходящий оракул передает данные блокчейна или события смарт-контрактов во внешнюю систему.Программный оракул получает данные из цифровых источников, таких как API, веб-сайты, базы данных или системы рыночных данных.Аппаратный оракул получает данные с физических устройств: датчиков, сканеров, микросхем или машин, подключенных к интернету.Человеческий оракул зависит от людей или организаций, сообщающих результат.Кроссчейн-оракул передает информацию между блокчейнами.Вычислительный оракул выполняет или проверяет операции, которые было бы дорого или непрактично выполнять непосредственно в блокчейне.Оракул случайных чисел предоставляет непредсказуемую и проверяемую случайность для игр, лотерей, выпуска NFT и других приложений.Ценовой оракул предоставляет стоимость активов для торговли, кредитования, обеспечения, ликвидации и расчетов.В большинстве реальных систем оракулов сочетается несколько таких подходов.Ценовые оракулы
Ценовые оракулы — наиболее широко используемый тип оракулов в криптовалюте.Ценовой оракул передает смарт-контракту стоимость актива или торговой пары.Кредитные рынки DeFi используют ценовые оракулы для расчета стоимости обеспечения.Платформы деривативов используют ценовые оракулы для расчетов по контрактам и управления маржой.Системы стейблкоинов используют ценовые оракулы для мониторинга обеспечения и соотношения долга к залогу.Хранилища и структурированные продукты могут использовать ценовые оракулы для расчета долей, комиссий или условий ребалансировки.Ценовой оракул может получать данные с нескольких торговых площадок и агрегировать результаты.Он также может учитывать пороги обновления, интервалы проверки актуальности, аварийные выключатели и проверки достоверности.В рекомендациях Pyth Network по ценовым потокам описывается использование значения цены и показателя достоверности, помогающих протоколам оценивать неопределенность данных.
Хороший ценовой оракул должен сообщать протоколу не только цену, но и то, насколько она может быть надежной при текущих рыночных условиях.Потоки данных
Потоки данных — это регулярные обновления оракула, предоставляющие смарт-контрактам актуальную или недавнюю информацию.Поток данных может содержать цены, ставки, индексы, сведения о резервах, погодные данные, значения волатильности и другие показатели.В документации Chainlink о децентрализованной модели данных потоки описаны как децентрализованные сети оракулов с компонентами потребителя, прокси-контракта и агрегатора.
Контракт-потребитель считывает данные.Прокси-контракт может направлять пользователей к текущему контракту-агрегатору.Контракт-агрегатор хранит и обновляет переданное значение.Такая архитектура может упростить разработчикам обновление контрактов и использование данных.Потоки данных удобны тем, что смарт-контракты могут считывать последнее опубликованное значение, не обращаясь напрямую к внешнему серверу.Однако надежность потока зависит от его источников данных, узлов оракула, логики агрегации и механизмов управления.Перед использованием потока для критически важной логики разработчикам следует разобраться в том, как он обновляется.Push- и pull-оракулы
Push-оракул передает обновления в блокчейн при выполнении определенных условий.Например, ценовой поток может обновляться, когда цена меняется сильнее заданного порога или проходит установленный максимальный интервал времени.Pull-оракул позволяет пользователям или приложениям передавать в блокчейн свежие подписанные данные по мере необходимости.Push-оракулы удобны тем, что последнее значение уже доступно в блокчейне.Pull-оракулы могут сократить число ненужных ончейн-обновлений, поскольку данные публикуются только тогда, когда они нужны пользователю или приложению.Push-системы могут лучше подходить протоколам, где многим контрактам часто нужно считывать одно и то же общедоступное значение.Pull-системы могут быть удобнее на быстро меняющихся рынках, где пользователь может передать свежие подписанные данные вместе со своей транзакцией.У обеих архитектур есть компромиссы.Разработчикам следует сравнивать актуальность данных, стоимость, задержку, безопасность, расход газа и сценарии сбоев.Централизованные оракулы
Централизованный оракул зависит от одного основного источника данных, оператора или доверенного канала передачи сведений.Такая архитектура может быть простой и быстрой.Но она также опасна, поскольку один сбой может повлиять на все приложение.Если централизованный источник перестанет работать, смарт-контракт может лишиться важных данных.Если централизованный источник будет взломан, контракт может получить неверные данные.Если централизованный оператор изменит методологию, поведение контракта может отличаться от ожиданий пользователей.Централизованные оракулы могут быть приемлемы для экспериментов с небольшой стоимостью активов под риском, внутренних инструментов или приложений, где допущения о доверии четко раскрыты.Для высокостоимостных систем DeFi они обычно связаны с риском, поскольку один канал передачи данных может определять финансовые результаты.Не следует называть централизованный оракул не требующим доверия, если пользователи не могут проверить, почему соответствующее допущение о доверии безопасно.Пользователям всегда следует выяснять, кто контролирует оракул и что произойдет в случае сбоя этой стороны.Децентрализованные оракулы
Децентрализованный оракул использует несколько узлов, источников или сторон, передающих данные, чтобы снизить зависимость от одного оператора.Цель — сделать оракул надежнее, усложнить манипуляцию и снизить вероятность сбоя из-за одного злоумышленника.Децентрализованный оракул может собирать данные из нескольких независимых источников.Он может требовать, чтобы несколько узлов оракула передавали подписанные наблюдения.Он может агрегировать значения с помощью медианы, средневзвешенного значения, доверительных интервалов или других методов.Он может использовать экономические стимулы, стейкинг, репутацию или штрафы для поощрения добросовестной передачи данных.Децентрализация может снизить риски оракула, но не устраняет их полностью.Если все узлы используют схожие источники данных, поток по-прежнему может пострадать из-за сбоя общего источника.Если система управления может быстро менять поток без надлежащих проверок, пользователи могут столкнуться с рисками управления.Если метод агрегации недостаточно надежен, злоумышленники могут использовать его уязвимости при низкой ликвидности.Первичные и сторонние оракулы
Первичным называется оракул, которым управляет первоначальный источник данных.Например, поставщик рыночных данных или эмитент может напрямую публиковать подписанные данные для смарт-контрактов.Сторонний оракул собирает, проверяет или передает данные из других источников.Первичные оракулы могут снизить проблемы с лицензированием и интерпретацией данных, поскольку сведения поступают непосредственно из первоисточника.Однако один источник, контролирующий результат, все равно может вызывать сомнения в отношении доверия.Сторонние оракулы могут объединять несколько источников и добавлять агрегацию или проверку данных.Но они также могут создавать риски, если у стороннего оператора слабый контроль или непрозрачная методология.Некоторые системы сочетают первичные данные с децентрализованной проверкой или агрегацией.Оптимальная модель зависит от сценария использования, стоимости активов под риском, типа данных, скорости обновления и требований законодательства.Разработчикам не следует считать одну категорию оракулов оптимальной для всех задач.Ончейн-оракулы
Ончейн-оракулы используют данные, уже существующие в блокчейне.Например, протокол может использовать цены в пулах автоматического маркетмейкера, средневзвешенные цены за период, ставки стейкинга, данные блоков или балансы токенов.Смарт-контрактам проще получать ончейн-данные, поскольку они уже находятся в блокчейн-среде.Однако ончейн-данными также можно манипулировать.Цену в пуле с низкой ликвидностью можно временно изменить крупной сделкой.Флеш-кредит может обеспечить капитал для искажения цены в рамках одной транзакции.Средневзвешенная цена за период может снизить риск краткосрочной манипуляции, но все равно быть уязвимой, если период, ликвидность или источник выбраны неудачно.В недавнем исследовании стоимости манипулирования оракулами на основе AMM изучается, как глубина ликвидности и методы агрегации влияют на стоимость манипуляции ончейн-ценовыми оракулами.
Ончейн-оракулы прозрачны, но прозрачность сама по себе не гарантирует безопасности.Экономическая стоимость манипуляции должна быть достаточно высокой относительно суммы активов под риском.Офчейн-оракулы
Офчейн-оракулы собирают информацию за пределами блокчейна.Такая информация может поступать с торговых площадок, от поставщиков данных, из корпоративных систем, веб-API, аппаратных устройств, платежных сетей или официальных реестров.Затем оракул передает результат в блокчейн в виде подписанной транзакции или обязательства по предоставлению данных.Офчейн-оракулы полезны, поскольку многие важные факты по своей природе не существуют в блокчейне.К ним относятся курсы обмена фиатных валют, цены на реальные активы, погодные явления, цены на сырье, подтверждения резервов и спортивные результаты.Основная сложность заключается в том, чтобы доказать точность офчейн-данных.Для этого оракулы могут использовать несколько источников, криптографические подписи, аудит, репутацию, экономические стимулы, системы оспаривания и прозрачную отчетность.Архитектура офчейн-оракула часто требует искать баланс между скоростью, доверием, стоимостью и надежностью.Быстрый оракул бесполезен, если его легко подвергнуть манипуляции.Высокозащищенный оракул может не подойти, если обновляется слишком медленно для конкретного приложения.Кроссчейн-оракулы
Кроссчейн-оракулы передают данные, сообщения или состояние между блокчейнами.Они могут сообщать одному блокчейну о событии, произошедшем в другом.Они могут поддерживать кроссчейн-кредитование, перемещение ликвидности и токенов, управление или координацию приложений.Кроссчейн-оракулы важны, поскольку криптовалютная активность распределена между множеством сетей.Однако архитектура кроссчейн-оракулов может быть сложной и рискованной.Сообщение может задержаться, изменить порядок, подвергнуться цензуре или интерпретироваться в разных сетях по-разному.Безопасность может зависеть от валидаторов, ретрансляторов, групп с несколькими подписями, легких клиентов, доказательств или внешних сетей.В исследовании 2026 года об извлекаемой стоимости оракулов между сетями показано, как различия во времени обновления оракулов могут создавать возможности для спекулятивных ликвидаций.
Это показывает, что риски кроссчейн-оракулов связаны не только с корректностью данных.Важны также время, задержка и то, кто может действовать первым.Оракулы случайных чисел
Оракул случайных чисел предоставляет смарт-контрактам непредсказуемые значения.Случайность полезна для блокчейн-игр, розыгрышей, назначения характеристик NFT, выбора валидаторов и других приложений, где нужна честная непредсказуемость.Генерировать безопасные случайные числа непосредственно в блокчейне сложно.В документации Solidity о глобальных переменных указано, что создатели блоков могут в некоторой степени влиять на временные метки и хеши блоков.
Поэтому в высокостоимостных сценариях нельзя использовать простые значения блоков как надежный источник случайности.Оракул случайных чисел может использовать криптографические методы, например проверяемые функции случайности или схемы commit-reveal.Цель — сделать случайный результат непредсказуемым до его создания и проверяемым после передачи.Некачественная генерация случайных чисел может позволить злоумышленникам предсказывать исходы или влиять на них.В играх и при выпуске NFT слабая случайность может подорвать честность и доверие пользователей.В финансовых системах она может привести к прямым экономическим потерям.Оракулы подтверждения резервов
Оракул подтверждения резервов передает информацию об активах, которыми владеют эмитент, кастодиан, протокол или финансовый продукт.В криптовалюте подтверждение резервов может помочь пользователям понять, обеспечены ли токен, обернутый актив, стейблкоин или продукт с залоговым обеспечением заявленными активами.Такой оракул может передавать балансы кошельков, заключения о хранении активов, банковские выписки, оценку активов и другие сведения о резервах.Ончейн-резервы проще проверить, чем офчейн-резервы, поскольку балансы блокчейна общедоступны.Офчейн-резервы требуют дополнительного доверия к аудиторам, кастодианам, банкам, юридическим документам или системам отчетности.Подтверждение резервов полезно, но не доказывает все.Оно может показывать активы, не отражая обязательства.Оно может показывать балансы на определенный момент времени, не доказывая постоянную платежеспособность.Оно может зависеть от юридических и операционных механизмов контроля, которые пользователи не могут полностью проверить.Подтверждение резервов следует рассматривать как один из сигналов риска, а не как полную гарантию.Оракулы автоматизации
Оракулы автоматизации помогают запускать действия смарт-контрактов при выполнении определенных условий.Такие системы иногда называют киперами, сетями автоматизации или ботами исполнения.Для вызова функции в нужное время смарт-контракту может понадобиться внешний участник.Например, может потребоваться ребалансировать хранилище, запустить ликвидацию, завершить аукцион, обновить вознаграждения или закрыть рынок с истекшим сроком действия.Контракт может задавать правила, но кто-то все равно должен отправить транзакцию.Оракулы автоматизации выполняют эту роль: отслеживают условия и при необходимости отправляют транзакции.Автоматизация сокращает объем ручной работы и может повысить надежность.Она также может создавать риски, связанные со временем, газом и стимулами.Если автоматизация не сработает, протокол может не обновиться в ожидаемый срок.Если автоматизация чрезмерно централизована, один оператор может контролировать важные временные параметры.Оракулы в кредитовании DeFi
Кредитные протоколы DeFi во многом зависят от оракулов.Кредитному рынку нужно знать стоимость обеспечения и заемных активов.Если стоимость обеспечения опускается ниже установленного безопасного уровня, протокол может разрешить ликвидацию.Если оракул завышает цену, рискованный заемщик может избежать ликвидации, даже если его обеспечение недостаточно.Если оракул занижает цену, позиция платежеспособного заемщика может быть несправедливо ликвидирована.Именно поэтому надежность ценового оракула крайне важна для безопасности кредитования.Кредитные протоколы часто используют консервативные коэффициенты обеспечения, буферы ликвидации, проверку ценовых потоков и аварийные механизмы контроля.Они также могут не добавлять в листинг активы с низкой ликвидностью или ненадежными ценовыми данными.Архитектура оракула — неотъемлемая часть управления рисками.Она напрямую влияет на безопасность заемщиков и кредиторов, а также на платежеспособность протокола.Оракулы в деривативах
Для расчетов по криптовалютным деривативам и управления маржой необходимы оракулы.Бессрочному или фьючерсному контракту может понадобиться индексная цена.Опционному контракту могут понадобиться расчетная цена, данные о волатильности или сведения об экспирации.Синтетическому активу может понадобиться оракул для отслеживания стоимости внешнего актива.Если оракул ошибается, трейдеры могут получить неправильные выплаты.Если данные оракула запаздывают, ликвидации могут произойти слишком поздно или слишком рано.Если оракул можно подвергнуть манипуляции, злоумышленники могут получить прибыль за счет других пользователей.Поэтому протоколам деривативов нужны надежные источники цен, прозрачная методология, резервные планы и мониторинг.По мере роста кредитного плеча качество оракула становится еще важнее.Небольшая ошибка в цене может привести к значительным финансовым последствиям при торговле с кредитным плечом.Оракулы в стейблкоинах
Системы стейблкоинов могут использовать оракулы для оценки обеспечения, отслеживания рыночных цен, управления выкупом или активации механизмов контроля рисков.Стейблкоинам с залоговым обеспечением нужно знать, достаточно ли его стоимости для покрытия выпущенного долга.Алгоритмические и гибридные системы могут использовать оракулы для отслеживания отклонений от привязки и рыночных сигналов.Оракулы стейблкоинов должны быть надежными, поскольку стрессовые ситуации, угрожающие привязке, могут развиваться быстро.Устаревшая цена может скрыть риск.Манипулируемая цена может привести к несправедливым действиям.Отсутствие цены может приостановить важные функции.Системам стейблкоинов не следует полагаться на один ненадежный источник данных для принятия критически важных решений.Им также необходимо учитывать ликвидность, стресс на рынке, резервы, способы выкупа и юридические риски.Оракул может сообщить цену, но не способен гарантировать безопасность стейблкоина.Манипулирование оракулами
Манипулирование оракулом происходит, когда злоумышленник изменяет, искажает или использует уязвимость в канале данных, которому доверяет смарт-контракт.В рекомендациях OWASP по манипулированию ценовыми оракулами это явление описывается как критическая уязвимость контрактов, зависящих от внешних потоков данных.
В DeFi злоумышленники часто пытаются манипулировать ценами, используемыми для заимствования, кредитования, свопов, ликвидаций или расчета обеспечения.Злоумышленник может совершить сделку в пуле с низкой ликвидностью, чтобы изменить спотовую цену.Он может воспользоваться флеш-кредитом, чтобы временно получить капитал для движения цены.Он может использовать устаревшую цену, которая недостаточно быстро обновляется.Он может атаковать протокол, доверяющий только одному источнику.Он может использовать разницу во времени обновления данных между сетями или потоками.Манипуляция оракулом опасна тем, что после принятия неверных данных смарт-контракт может автоматически выполнить ошибочную логику.Сам контракт не является вредоносным, но его представление о реальности искажено.Устаревшие данные оракула
Устаревшие данные оракула — это данные, которые уже недостаточно актуальны для текущей рыночной ситуации.Цена могла быть точной в момент публикации, но стать опасной после резкого движения рынка.Кредитный протокол, использующий устаревшие данные, может неверно оценить обеспечение.Протокол деривативов, использующий устаревшие данные, может несправедливо рассчитать выплаты по контрактам.Протокол стейблкоина, использующий устаревшие данные, может запоздать с необходимыми мерами управления рисками.Пользователям оракула следует проверять временные метки или время обновления, если эти сведения доступны.Для критически важных потоков следует установить максимально допустимый возраст данных.Также необходимо заранее определить действия контракта при устаревании данных.Возможные варианты: приостановить отдельные действия, использовать резервные потоки, увеличить буферы риска или отклонить транзакцию.Устаревшие данные не всегда неверны, но часто слишком ненадежны для операций с высокой стоимостью активов.Задержка оракула
Задержка оракула — это время между событием во внешнем мире и моментом, когда его можно использовать в блокчейне.Задержка может возникать при сборе и агрегации данных, подписании, отправке транзакции, включении в блок и подтверждении.Низкая задержка важна для быстро меняющихся рынков и систем, чувствительных к ликвидациям.Более высокая задержка может быть допустима для медленно обновляющихся данных, таких как ежедневные отчеты, события управления или долгосрочные индексы.Задержка не всегда вредна, если она повышает надежность или снижает риск манипуляции.Например, цена, взвешенная по времени, может обновляться медленнее, но ее сложнее изменить в пределах одного блока.Подходящая задержка зависит от приложения.Инструменту для высокочастотной торговли могут понадобиться максимально свежие данные.Для долгосрочного отчета о залоговом обеспечении проверяемость может быть важнее скорости.Разработчикам следует соотносить задержку оракула с экономическими рисками контракта.Извлекаемая стоимость оракула
Извлекаемая стоимость оракула — это стоимость, которую можно получить, совершая действия до или после обновления оракула.Например, если обновление цены позволит ликвидировать позицию заемщика, поисковик может попытаться сразу после обновления отправить транзакцию на ликвидацию.Если поисковик может предсказать или отследить время обновления оракула либо опередить других участников, он может получить преимущество.Это связано с MEV, поскольку порядок и время транзакций могут определять, кто получит потенциальную прибыль.В документации Ethereum о MEV объясняется, что стоимость можно извлекать, включая транзакции в блок, исключая их или меняя порядок.
Обновления оракулов могут создавать новые возможности для MEV, поскольку они меняют цены, право на ликвидацию, коэффициенты обеспечения и условия арбитража.Время обновления кроссчейн-оракула может дополнительно усложнить ситуацию, поскольку одна сеть может получить информацию раньше другой.Протоколам следует учитывать, кто получает выгоду от времени обновления оракула и подвергаются ли пользователи риску несправедливого исполнения.Таким образом, проектирование оракула — это также проектирование структуры рынка.Безопасная система оракула должна учитывать как корректность данных, так и время их передачи.Комиссии за газ и обновления оракулов
Обновление оракулов часто требует блокчейн-транзакций, поэтому на него могут влиять комиссии за газ и загруженность сети.В документации Ethereum о газе объясняется, что пользователи платят базовую комиссию и могут добавить приоритетную комиссию для ускорения включения транзакции.
При высокой загруженности сети обновления оракула могут обходиться дороже.Если стимулы для обновления недостаточны, данные могут устареть.Если многие пользователи конкурируют за место в блоке во время обновления оракула, комиссии за газ могут резко вырасти.Система оракула должна создавать достаточные стимулы для своевременного обновления данных даже в периоды волатильности.Это особенно важно, поскольку именно во время волатильности протоколам больше всего нужны точные цены.Разработчикам следует проверять работу обновлений оракула при высокой загруженности сети, а не только в спокойных условиях.Поток, который работает в нормальных условиях, может отказать в период рыночного стресса.Надежная архитектура оракула предусматривает подготовку к стрессовым ситуациям.Рекомендации по безопасности оракулов
При высокой стоимости активов под риском используйте несколько независимых источников данных.Не полагайтесь на один торговый пул с низкой ликвидностью как на источник цены.При необходимости используйте медиану или другие надежные методы агрегации.Проверяйте временные метки и отклоняйте устаревшие данные.Используйте аварийные выключатели при экстремальных изменениях цены.Если данные оракула ненадежны, применяйте консервативные коэффициенты обеспечения.Отслеживайте обновления оракула и уведомляйте команды о задержках или необычных данных.Продуманно используйте резервную логику: ненадежный запасной источник может создать новый способ для атаки.Проверяйте работу оракула при волатильности, высокой загруженности сети и низкой ликвидности.Документируйте допущения, связанные с оракулом, чтобы пользователи и аудиторы понимали модель рисков.Распространенные риски оракулов
Первый существенный риск — неверные данные.Второй — устаревшие данные.Третий — манипуляция источником данных.Четвертый — сбой узла оракула.Пятый — слабая агрегация.Шестой — захват управления или небезопасное изменение конфигурации.Седьмой — задержки при передаче данных между сетями.Восьмой — MEV во время обновления оракула.Девятый — неправильная обработка отсутствующих данных.Десятый — убежденность в том, что оракул полностью устраняет необходимость доверия.Как пользователям оценивать оракулы
Пользователям следует выяснить, какие данные предоставляет оракул.Важно узнать, откуда поступают данные.Следует проверить, как часто данные обновляются.Нужно выяснить, используются ли несколько источников.Следует узнать, каким образом данные агрегируются.Важно понимать, что происходит, если данные устарели или недоступны.Следует выяснить, кто может обновлять или приостанавливать работу оракула.Нужно проверить, есть ли у оракула общедоступная документация и мониторинг.Следует оценить, какая сумма активов зависит от оракула.Важно понять, соответствует ли архитектура оракула рискам протокола.Оракулы и токенизированные реальные активы
Для токенизированных реальных активов часто нужны оракулы, поскольку их стоимость и статус могут зависеть от офчейн-фактов.Для токенизированной облигации могут понадобиться процентные ставки, сведения о выплатах, сроки погашения и информация об эмитенте.Для токенизированного сырьевого актива могут понадобиться данные о цене, хранении и кастодиальном обслуживании.Для токенизированного счета-фактуры может понадобиться подтверждение оплаты.Для токенизированного объекта недвижимости могут понадобиться оценка, записи о правах собственности или сведения о юридических событиях.Такие сценарии усложняют проектирование оракулов, поскольку юридические факты и физические активы сложнее проверить, чем ончейн-балансы.Оракул может зависеть от кастодианов, аудиторов, администраторов, банков, судов или официальных реестров.Это может повысить полезность токенизированных активов, но также добавляет допущения, связанные с доверием и соблюдением требований.Пользователям следует понимать, что именно подтверждает оракул и чего он не подтверждает.Оракул может передать офчейн-факт, но сам по себе не способен сделать слабое юридическое требование надежным.Оракулы и данные ИИ
Некоторые криптовалютные приложения могут использовать оракулы для передачи результатов ИИ или подтвержденных результатов вычислений.Оракул может передавать оценку модели, доказательство выполнения вычислений, классификацию контента, сигнал идентификации или оценку риска.Это может поддерживать автоматизированную проверку соответствия требованиям, игры, рынки прогнозов, системы репутации и смарт-контракты на основе данных.Данные, связанные с ИИ, требуют особой осторожности, поскольку результаты работы модели могут быть вероятностными, предвзятыми или трудными для проверки.Смарт-контракту не следует считать каждый результат ИИ объективной истиной.Разработчикам следует определить допустимый уровень достоверности, процедуры оспаривания, резервную логику и случаи, когда требуется проверка человеком.Оракулы ИИ могут стать важнее по мере взаимодействия блокчейнов с офчейн-вычислениями.Одновременно возрастет необходимость в прозрачности и возможности аудита.Чем более субъективны данные, тем тщательнее нужно проектировать оракул.Не каждый внешний ответ следует напрямую включать в необратимую логику смарт-контракта.Сценарии использования оракулов
В кредитовании DeFi оракулы используются для оценки обеспечения.В деривативах они используются для расчетов по контрактам.В стейблкоинах они используются для мониторинга привязки и обеспечения.В страховых приложениях они используются для подтверждения событий.На рынках прогнозов они используются для определения результатов.В играх они используются для генерации случайных чисел.В NFT они используются для динамических метаданных и честного выпуска токенов.В токенизированных активах они связывают токены с офчейн-записями.В кроссчейн-приложениях они передают сообщения и состояние.В системах автоматизации они запускают функции смарт-контрактов в нужное время.Преимущества оракулов
Первое важное преимущество оракулов заключается в том, что они расширяют возможности смарт-контрактов.Без оракулов многие контракты были бы ограничены ончейн-балансами и внутренним состоянием.Второе преимущество — автоматизация.Смарт-контракты могут реагировать на данные без необходимости каждый раз привлекать человека.Третье преимущество — компонуемость.Многие приложения могут использовать один и тот же поток данных для создания связанных сервисов.Четвертое преимущество — прозрачность.Обновления оракула и реакцию контракта часто можно проверить в блокчейне.Пятое преимущество — программируемое управление рисками.Протоколы могут использовать потоки данных для управления обеспечением, маржой, расчетами и аварийными механизмами контроля.Оракулы — одна из основных причин, по которым DeFi может работать не только с простыми переводами токенов.Ограничения оракулов
Оракулы не гарантируют достоверность данных.Они передают данные в соответствии с определенной архитектурой, набором источников и методологией.Данные могут быть неверными, запаздывающими, подверженными манипуляции или недоступными.Оракулы могут создавать риски управления, если доверенные стороны способны менять важные настройки.Они могут создавать юридические риски, если внешние данные зависят от регулируемых организаций или частных договоров.Они могут создавать риски для конфиденциальности, если передача данных раскрывает чувствительную информацию.Они могут создавать MEV, когда обновления открывают новые возможности для извлечения стоимости.Они могут увеличивать расходы на газ, если требуются частые обновления.При неудачной архитектуре оракул может стать единой точкой отказа.Оракул — важная инфраструктура, но не безупречный источник истины.Рекомендации разработчикам по работе с оракулами
Выбирайте оракул с учетом стоимости активов под риском.Для финансовой логики используйте качественные источники данных.Проверяйте актуальность цены перед ее использованием.Предусматривайте аварийные выключатели для аномальных движений цены.Не используйте спотовую цену за один блок в рынке с низкой ликвидностью для критически важной логики обеспечения.При необходимости используйте цены, взвешенные по времени, или децентрализованные потоки.Продумайте резервную логику до возникновения чрезвычайной ситуации.Ограничьте полномочия администраторов по изменению настроек оракула.Проводите аудит не только основной логики протокола, но и кода интеграции с оракулом.После развертывания непрерывно отслеживайте потоки данных.Рекомендации пользователям
Проверьте, описывает ли протокол архитектуру своего оракула.Будьте осторожны с протоколами, которые полагаются на один неясный источник данных.Особенно внимательно оценивайте новые активы и активы с низкой ликвидностью.Перед получением займа под волатильное обеспечение разберитесь в риске ликвидации.Не считайте, что цена оракула всегда совпадает с доступной рыночной ценой сделки.Следите за приостановленными потоками, устаревшими данными и аномальными изменениями цен.Если риски оракула неясны, используйте позиции меньшего размера.Перед внесением крупных средств изучите документы протокола о рисках.Учитывайте качество оракула при оценке безопасности протокола.Распространенные заблуждения об оракулах
Одно из распространенных заблуждений — считать оракулы обычными API.Обычный API предоставляет данные веб-приложениям, тогда как оракул должен передавать данные в форме, пригодной для безопасного использования смарт-контрактами.Еще одно заблуждение — считать децентрализованные оракулы всегда безопасными.Децентрализация помогает, но не исправляет плохие источники, неудачную агрегацию, слабое управление или ошибки интеграции.Третье заблуждение — считать, что ценовой оракул всегда показывает цену, по которой пользователь действительно может торговать.Цена оракула может быть индексной, медианной, запаздывающей или агрегированной, а не доступной для исполнения котировкой.Четвертое заблуждение — считать, что риски оракула касаются только разработчиков.При сбоях системы оракула пользователи могут столкнуться с ликвидацией, заниженными выплатами, переплатой или ошибочным исполнением контрактов.Пятое заблуждение — считать данные оракула окончательной истиной.Данные оракула — это значение, переданное в рамках определенной модели доверия.Оракулы в одном предложении
Оракулы — это блокчейн-инфраструктура, которая передает смарт-контрактам внешние данные, сведения о реальных событиях, результаты офчейн-вычислений или кроссчейн-информацию, позволяя криптовалютным приложениям реагировать на информацию, поступающую извне их сети.FAQ
Что такое оракулы в криптовалюте?
Оракулы — это системы, предоставляющие смарт-контрактам внешние данные или офчейн-информацию, к которой блокчейн не может получить доступ напрямую.Зачем смарт-контрактам нужны оракулы?
Оракулы нужны, потому что смарт-контракты по умолчанию не могут напрямую обращаться к обычным веб-сайтам, API, базам данных или системам реального мира.Что такое ценовой оракул?
Ценовой оракул передает смарт-контрактам цены активов для использования в кредитовании, деривативах, стейблкоинах, свопах, управлении обеспечением и расчетах.Оракулы децентрализованы?
Некоторые оракулы децентрализованы, другие централизованы или используют гибридную модель — в зависимости от источников данных, структуры узлов, метода агрегации и системы управления.Что такое проблема оракула?
Проблема оракула — это сложность передачи внешних данных в блокчейн без чрезмерного доверия, риска манипуляции или единой точки отказа.Можно ли манипулировать оракулами?
Да. Манипулирование возможно, если источники данных ненадежны, цены основаны на рынках с низкой ликвидностью, данные устарели или смарт-контракты доверяют небезопасным каналам передачи информации.Что такое устаревшие данные оракула?
Это данные, которые обновлялись недостаточно недавно для безопасного использования в текущих рыночных условиях.Что такое децентрализованная сеть оракулов?
Децентрализованная сеть оракулов использует несколько узлов, источников или поставщиков данных, чтобы снизить зависимость от одного оператора или канала передачи данных.Для чего оракулы используются в DeFi?
Оракулы используются для оценки обеспечения, ликвидаций, работы стейблкоинов, расчетов по деривативам, учета в хранилищах, страховых событий и рыночных индексов.Что такое извлекаемая стоимость оракула?
Это стоимость, которую можно получить, совершая действия до или после обновления оракула, особенно если оно меняет цены, право на ликвидацию или возможности для арбитража.Может ли смарт-контракт работать без оракула?
Да, если он использует только ончейн-данные и ему не нужна внешняя информация.Как пользователям оценить риски оракула?
Для этого следует проверить источники данных, частоту обновлений, децентрализацию, метод агрегации, резервную логику, мониторинг и объем средств, зависящий от потока данных.Заключение
Оракулы — необходимая часть современной криптовалютной инфраструктуры, поскольку связывают смарт-контракты с данными из-за пределов их блокчейна.Они обеспечивают работу кредитования DeFi, деривативов, стейблкоинов, токенизированных активов, рынков прогнозов, страхования, игр, автоматизации и кроссчейн-приложений.Оракулы предоставляют смарт-контрактам доступ к ценам, событиям, резервам, случайным числам, данным внешних систем и другой информации.Риск связан с тем, что смарт-контракт может автоматически действовать на основании любых данных, сообщенных оракулом.Если оракул передает точные, актуальные и надежные данные, приложение может работать как задумано.Если оракул передает неверные, устаревшие, запаздывающие данные или данные, подвергшиеся манипуляции, приложение может принимать опасные решения со скоростью блокчейна.Поэтому архитектуру оракула следует считать частью безопасности смарт-контракта, а не второстепенной функцией передачи данных.Надежные системы оракулов используют достоверные источники, децентрализованную передачу данных, эффективную агрегацию, понятные правила обновления, аварийные выключатели, мониторинг и тщательно продуманную интеграцию.Ненадежные системы полагаются на один уязвимый источник данных, игнорируют устаревшую информацию, доверяют ценам рынков с низкой ликвидностью или не готовятся к стрессу на рынке.Важно понимать: оракул не делает внешние данные не требующими доверия автоматически.Он создает мост между блокчейн-логикой, стремящейся минимизировать доверие, и сложным внешним миром.При оценке любого криптовалютного протокола качество оракула следует считать одним из ключевых факторов.Для разработчиков надежная интеграция с оракулом может предотвратить манипуляции, несправедливые ликвидации, ошибки расчетов и потери протокола.Пользователям понимание работы оракулов помогает разобраться, почему цены, ликвидации, свопы и автоматические действия контрактов происходят именно так.Оракулы расширяют возможности смарт-контрактов, но одновременно повышают важность тщательной работы с данными.В криптовалюте надежность контракта зависит от надежности данных, которым он доверяет.Вам также может быть интересно
ZK-Rollup
ZK-Rollup-as-a-Service
zk-SNARK
В тренде
Трендовые криптовалюты, которые в настоящее время привлекают значительное внимание рынка
ТОП по объему
Криптовалюты с наибольшим объемом торгов
Недавно добавленные
Криптовалюты недавно внесенные в листинг и доступные для торговли

