Что такое блокчейн-оракулы и какую роль они выполняют

17 августа 2020
NOWNodes

Оригинал: блог NOWNodes.

Блокчейн-оракулы – это те самые переводчики и проводники, которые связывают источники данных из внешнего мира (Интернета) и блокчейн. Оракулы принимают информацию с различных источников и преобразуют ее в язык, понятный смарт-контрактам – программам, которые автономно обрабатывают операции на блокчейне. Другими словами, оракулы обслуживают всю экосистему Web3.

Среди данных, получаемых оракулами, могут быть такие, как текущее состояние сети или актуальный курс криптовалюты. Смарт-контракты используют эти данные в соответствии с правилами, заложенными в исходном коде, а затем транслируют пользователям и контролируют сделки на их основе.

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

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

В зависимости от принципа работы различают несколько видов оракулов:

  • Человеческие оракулы – это люди, которые вручную проверяют данные и отправляют их на смарт-контракт;
  • Входящие или исходящие оракулы – те, что либо передают информацию смарт-контрактам, либо внешним источникам из смарт контрактов. Оракулы могут быть и гибридными.
  • Контрактные – предназначены для одного конкретного смарт-контракта. Такие оракулы не могут применяться для других смарт-контрактов. Это может быть связано с механизмом отдельных смарт-контрактов.
  • Централизованные или децентрализованные оракулы – управляются одной компанией или сообществом. Здесь все понятно: децентрализованные оракулы нивелируют риск вмешательства третьих лиц.

Как используются оракулы

Вариантов использования оракулов – множества. Прежде функции смарт-контрактов были ограничены. Программа отслеживала и контролировала выполнение условий сделки только внутри блокчейна. Например, при покупке токенов продавцу необходимо обеспечить их поставку. Если один из пользователей их не выполнит, то сделка не будет совершена, а зарезервированные монеты отправятся обратно владельцам.

Но что, если нужно выполнить проверку из других источников вне блокчейна? И здесь на помощь приходят оракулы, которые предоставляют совместимость ончейновых данных из Web3 и обычного Web.

Представим ситуацию, когда два игрока спорят о том, какой курс достигнет Ethereum к концу 2020 года. Игрок A ставит на то, что криптовалюта вырастет до $1000, а игрок B – что упадет до $200. Они делают ставку и фиксируют сделку с помощью смарт-контракта. Но сам по себе смарт-контракт не может получить данные о курсе.

Тогда вмешиваются оракулы, которые получают данные о курсе криптовалют через API биржевой платформы или сервис для мониторинга курсов в режиме реального времени. Смарт-контракт получает данные, сверяет их с прогнозами игроков и переводит монеты победителю, который был ближе всего к правильному ответу.

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

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

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

Другой яркий пример применения оракулов – блокчейн-проект Provable. Платформа предоставляет готовые решения на базе оракулов для разработчиков децентрализованных приложений (dApps). Provable позволяет интегрировать такие решения, как ГСЧ для азартных игр на блокчейне, поставщик достоверных данных и модуль безопасности Provable военного уровня для самых важных процессов. Блокчейн Provable позволяет убедиться, что данные поступают в исходном виде и не были модифицированы.

Заключение

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