Любая распределенная децентрализованная сеть всегда детерминирована — транзакции в ней идут в строго хронологической последовательности, а сама сеть не может самостоятельно получать информацию из третьих источников и внешнего мира. Для этого в блокчейне существуют оракулы — инфраструктурные алгоритмы, которые переводят информацию, находящуюся вне сети, в понятный для блокчейна формат.
Таким образом, оракул можно рассматривать как способ связи блокчейна с реальным миром. Данная возможность играет ключевую роль, особенно в использовании смарт контрактов — протоколов, которые обеспечивают автоматическое выполнение условий коммерческих сделок, проведения транзакций и обмена активами между сторонами без участия третьих лиц. Однако, работая со смарт контрактами, компании часто сталкиваются с такими недостатками как:
- Смарт контракты существуют только в крипто-пространстве, а для их работы необходим надежный блокчейн, внедрение которого — технически и финансово сложный процесс.
- Поскольку смарт контракт является алгоритмом, который должен учитывать множество факторов, то для корректного составления такого контракта нужно прописать большое количество возможных вариантов развития ситуаций, что значительно увеличивает вероятность критической ошибки.
- После запуска в смарт контракт невозможно внести изменения или остановить его работу, пока все условия, прописанные в нем, не будут выполнены.
Однако, в отличие от блокчейна, мир за пределами распределенной сети вовсе не является детерминированным, и, вполне вероятно, что одна из сторон или обе могут столкнуться с непредвиденными обстоятельствами, которые повлияют на условия выполнения смарт контракта. В данном случае блокчейн-оракул позволит смарт контрактам обновить условия своего выполнения посредством получения информации из внешнего мира. Так, оракул будет работать как своего рода советчик, к которому смарт контракт может обратиться за интерпретацией определенных событий.
Принцип работы блокчейн-оракула
Один из ключевых вопросов, который встает перед разработчиками блокчейн оракулов — как объяснить смарт контракту события достоверным, проверяемым, последовательным и прозрачным путем? Для этого необходимы три составляющих:
- Источник данных
Источник данных — это ресурс, который предоставляет нужную оракулу информацию. Типы данных, с которыми работают оракулы, сильно варьируются, поэтому источники могут быть самыми разными — от метеорологических ресурсов, предоставляющих данные о погоде, до информации Bloomberg о колебании цен на фондовом рынке или данных о будущих событиях от рынка предсказаний Augur.
- Запрос
Запрос — это специальный код, который работает с определенным источником данных. Благодаря запросу оракул получает нужные смарт контракту данные.
- Оракул/ Консенсус оракулов
Оракул/Консенсус оракулов — это алгоритм/группа алгоритмов, работающих в блокчейне, которые отвечают за подключение к источнику данных и интерпретацию полученной информации в понятный блокчейну формат.
Существуют различные типы оракулов в зависимости от типа использования:
- Оракул в формате программного обеспечения (ПО)
Оракул, существующий в формате программного обеспечения, работает с информацией, которая находится онлайн. Такой оракул может предоставлять данные о погоде, температуре, ценах на услуги или товары, расписании транспорта и так далее. Эти данные оракул получает с сайтов компаний, обрабатывает и предоставляет смарт контракту.
- Аппаратный оракул
Некоторым смарт контрактам необходима информация из реального мира о физическом выполнении определенных условий. Например, смарт контракту могут понадобиться данные об автомобиле, который находится в зоне действия определенного датчика. Также аппаратный оракул может взаимодействовать с RFID-метками для работы смарт контрактов в логистике. Основной проблемой для данного типа оракулов является обеспечение надлежащего уровня защиты считываемой информации.
- Входящий оракул
Данный тип оракула работает непосредственно внутри самого смарт контракта и предоставляет информацию из внешнего мира. Например, для запуска автоматического ордера на покупку криптовалюты смарт контракт должен знать, когда ее курс достигнет той или иной отметки. Эту информацию предоставит входящий оракул.
- Исходящий оракул
Исходящий оракул, наоборот, может отправлять информацию во внешний мир. Так, система умной блокировки, которая существует в реальном мире, может автоматически предоставить пользователю доступ, как только она получит от оракула информацию об успешном платеже.
- Консенсус оракулов
Таким рынкам предсказаний, как Augur или Gnosis, необходимы оракулы для достоверного предсказания развития событий и конечных результатов. Однако, используя всего один источник информации, невозможно с точностью определить его надежность. В связи с чем рынки предсказаний используют не один, а несколько оракулов, чтобы предугадать последствия событий.
По мере развития блокчейн-экономики экосистема оракулов будет стремительно развиваться как надежный способ связи цифрового мира с реальным. Именно блокчейн-оракулы смогут решить проблемы коммуникации блокчейнов, а также обеспечить более широкое применение смарт контрактов в различных индустриях, заинтересованных в использовании децентрализованных сетей.