Оракул (Oracle) — инструмент для связи смарт-контрактов с данными, находящимися за пределами блокчейна в котором они работают. Оракул может получать информацию из внешнего мира или других блокчейнов, для дальнейшего взаимодействия.
Децентрализованные приложения (dApps) или смарт-контракты не могут получить информацию, которая находится за пределами блокчейна, но достаточно часто необходима возможность извлечения такой информации. В этом случае и используются блокчейн-оракулы, которые предоставляют доверенные данные.
Оракулы являются крайне важной частью блокчейн-экосистемы, позволяя значительно расширить возможности смарт-контрактов. Без оракулов любой смарт-контракт был бы сильно ограничен и получал бы информацию исключительно в рамках блокчейна в котором работает.
Как работают Оракулы?
Сам по себе оракул не может являться источником информации, это скорее инструмент, который запрашивает, проверяет и анализирует информацию из внешних источников и затем ретранслирует ее. Внешним источником может быть информация как из внешнего централизованного источника, так и информация из другого блокчейна.
Децентрализованные сети оракулов (DON) позволяют реализовывать гибридные смарт-контракты, в которых оффчейн и ончейн инфраструктура объединяются для создания сложных децентрализованных приложений (dApps), которые могут реагировать на любые события в реальном мире и взаимодействовать с традиционными системами.
Таким образом, получив информацию, Оракул ретранслирует в сеть, в которой он работает и в рамках этой сети информация считается истинной.
Категории Оракулов
Существуют различные категории оракулов, в зависимости от их предназначения:
- Источник. Тако оракул может получать информацию от программного или аппаратного обеспечения.
- Направление информации. Информация может быть как входящая, так и исходящая.
- Доверие. Оракулы бывают как централизованные, так и децентрализованные.
Один оракул может подпадать сразу под несколько категорий.
Аппаратные Оракулы
В определенных условиях смарт-контракту необходимо взаимодействовать с физическим миром. В этом случае в игру вступают аппаратные оракулы, которые получают данные из физического мира через различные датчики, сканеры или другие устройства считывания информации.
В данном случае задача оракула перевести информацию о реальных событиях в цифровой вид, с которым сможет работать смарт-контракт. Хорошим примером может служить «умный дом» в котором находятся датчики движения, информация с которых считывается, интерпретируется оракулом и уже смарт-контракт принимает решения о дальнейших действиях.
Программные Оракулы
Программные Оракулы используют онлайн-источники для получения информации для дальнейшей передачи ее в блокчейн. В данном случае могут использоваться различные базы данных, веб-сайты и любая другая цифровая информация.
Благодаря постоянному подключению к интернету, программный оракул абсолютно всегда находится в сети и может предоставлять информацию смарт-контракту в режиме реального времени. Чаще всего, такие Оракулы используются в различных финансовых инструментах, рейтингах бирж, анализе стоимости цифровых активов и.т.д.
Вычислительные оракулы
Оракулы могут использоваться для выполнения любого произвольного вычислительного решения «вне сети», что может быть особенно полезно, учитывая присущие таким сетям как Ethereum ограничения на количество данных в блоках и очень высокую стоимость вычислений.
Вычислительные оракулы, могут использоваться для выполнения вычислений над набором входных данных и возврата вычисленного результата, который в противном случае было бы невозможно вычислить в ончейн. Например, для оценки доходности контракта на облигации можно использовать вычислительный оракул, выполняющий сложные в вычислительном отношении вычисления регрессии.
Как оракулы могут применяться в dApps?
Так как оракул является инструментом для преодоления разрыва между реальным миром, блокчейнами и смарт-контрактами, то они имеют достаточно широкий спектр применения в децентрализованных приложения (dApps). Рассмотрим некоторые примеры данных, которые оракулы могут предоставить приложениям:
- Различные рыночные данные, такие как цены на токенизированные активы или ценные бумаги.
- Данные о ценах на криптовалюты для децентрализованных бирж деривативов (PerpDEX), кредитных протоколов (Lending) и других протоколов DeFi, которым могут понадобиться точные данные о ценах на активы.
- Временные данные и интервалы могут применяться для тригеров событий на основе точных измерений времени.
- Данные о погоде могут тем или иным способом применяться в децентрализованных приложениях, например для расчета страховых взносов на основе прогнозов погоды.
- Базовые справочные данные, например, такие как процентные ставки, включенные в умные финансовые деривативы.
- Данные о геолокации, которые в дальнейшем могут использоваться для отслеживания цепочки поставок товаров.
- Исход спортивных событий может использоваться для реализации рынков прогнозов и ставок на спорт.
Это лишь небольшой список того, какие данные могут поставлять оракулы децентрализованным приложениям. Область применения может ограничиваться только фантазией разработчиков.
Недостатки блокчейн Оракулов
Не смотря на то, что блокчейн-оракулы используются повсеместно, и на сегодняшний день без них сложно представить себе криптовалютный рынок, они имеют множество недостатков. Вот некоторые из примеров:
- Достоверность. Так как Оракулы получают информацию из внешних источников, пользователям приходится доверять этим источникам, будь то цифровая информация или данные полученные с физического сенсора.
- Атака посредника. Если злоумышленник получит доступ к потоку информации между оракулом и смарт-контрактом, появляется возможность фальсифицировать передаваемые данные.
- Безопасность сети. Оракулы не являются часть блокчейна и ни как не взаимодействуют с консенсусом блокчейн-сети, поэтому взаимодействие с ненадежными смарт-контрактами остается не решенной проблемой.
Известные проекты блокчейн-оракулов
Chainlink — это пожалуй, лидер на рынке децентрализованных оракулов, к услугам которого прибегают несколько тысяч криптовалютных проектов в секторах DeFi, GameFi и NFT. Chainlink не имеет своего собственного блокчейна, но его узлы развернуты в каждом блокчейне, в котором он обслуживает децентрализованные приложения. Оракулы Chainlink работают в блокчейнах Solana, Ethereum, а также в множестве EVM-совместимых сетей, таких как Arbitrum, Avalanche, BNB Chain, Fantom, Polygon и других. Имеет собственный токен LINK.
Band Protocol — еще один известный протокол децентрализованных оракулов с большим количеством интеграций. Данный протокол работает на основе своего блокчейна BandChain, созданного на основе фреймверка Cosmos SDK. BandChain управляется сетью узлов-валидаторов. Работет с децентрализованными приложениями в множестве сейтей, среди которых Celo, Cronos, Oasis и другие. Имеет собственный токен BAND.
Tellor — это неизменный децентрализованный протокол Oracle, который стимулирует открытую, не требующую разрешения сеть отчетности и проверки данных, гарантируя, что данные могут быть предоставлены кем каждым и проверены каждым. Протокол работает с множество EVM-совместимых сетей, таких как Ethereum, Arbitrum, Filecoin EVM, Gnosis Chain, Optimism, Polygon и другими. Имеет собственный токен TRB.