Блокчейн-оракул
Блокчейн-оракул — это доверенное программное или аппаратное решение, входящее в состав компьютерной сети, которое осуществляет передачу информации из физического мира в умный контракт[1].
Оракул блокчейна создаёт связь между физическим миром и блокчейн-сетью, обрабатываемой умными контрактами, и позволяет этим контрактам получать доступ к внешним данным, а не быть ограниченными только внутренней информацией блокчейна. Эта технология используется в настоящее время децентрализованными приложениями (DApps), которые используют умные контракты, требующие доступа к данным из внешних источников[2].
Технические особенности
Мотивация
Необходимость в оракулах появилась с внедрением технологии блокчейн и умных контрактов. Эти технологии обеспечивают децентрализованный и защищённый обмен информацией, однако сами не могут запрашивать и получать внешние данные. Приложения, нуждающиеся в обмене внешними данными (например, ценовые котировки, погодные прогнозы, GPS-координаты), оказываются ограниченными в использовании только внутренней информацией блокчейна. Именно это стремятся решить оракулы таких компаний, как Oraclize или SmartContract[3][4].
Принцип работы
Универсальных стандартов работы оракула не существует. Как правило, пользователь, обладающий умным контрактом, отправляет запрос к сервису оракулов для получения необходимой информации. Оракул затем выполняет процедуру поиска данных и передаёт их в умный контракт. Эта процедура может различаться у разных сервисов, её цель — обеспечить безопасную передачу достоверной информации. Оракульная сеть может выбрать централизованный или децентрализованный подход; этот вопрос является предметом обсуждений и дискуссий[5]. Оракулы блокчейна можно классифицировать по нескольким признакам[6]:
- Источник: поступают ли данные из программного обеспечения, аппаратуры или от человека?
- Направление информации: данные поступают внутрь или выходят наружу?
- Доверие: централизованный или децентрализованный подход?
Один и тот же оракул может относиться сразу к нескольким категориям. Например, оракул, запрашивающий данные с корпоративного веб-сайта, является централизованным входящим программным оракулом.
Централизованный и децентрализованный подходы
Оракульная сеть может быть централизованной или децентрализованной. В настоящее время основным рабочим сервисом оракулов является централизованный Oraclize. Создание децентрализованной сети более сложно, поскольку сложно гарантировать достоверность происхождения информации. Децентрализованные проекты оракулов, такие как ChainLink, находятся в стадии тестирования и показывают обнадёживающие результаты[7]. Децентрализованный подход позволяет избежать зависимости передаваемых данных от одного централизованного участника системы. Хотя обе схемы имеют свои достоинства, сама модель безопасности блокчейна и умных контрактов основывается на децентрализации. Поэтому большинство проектов и пользователей стремятся использовать именно децентрализованные оракулы.
Экономические аспекты
При обращении к сервису оракула пользователь оплачивает работу поставщика или группы оракулов для доступа к необходимым данным. Оракулы привязаны к определённому блокчейну, выбранному пользователем. В централизованной сети директно оплачивается услуга сервиса[5]. В децентрализованной архитектуре сервис выплачивает вознаграждение операторам узлов, задействованных в обработке оракульных запросов. Например, в случае Chainlink, операторы узлов получают вознаграждение в токенах Link — собственной криптовалюте ChainLink для стимуляции оракульных операций[7]. Использование оракулов может создавать предпосылки к развитию новых типов рынков. Так, Augur (программное обеспечение) изначально создавался для поддержки рынков прогнозов с использованием собственных оракулов[8].
Безопасность и доверие
Ключевые проблемы оракулов связаны с вопросами безопасности и доверия к достоверности передаваемой информации. Централизованный оркул, например, зависит от одного участника — компании или государственного учреждения, которое технически способно изменять данные. Поэтому доверие к информации становится доверием к честности сервисов централизованных оракулов. Независимо от используемого оракула, данные могут различаться у разных источников. Для решения подобных проблем применяют: получение информации из множества независимых источников и введение системы репутации для операторов узлов, поощряющей передачу достоверной информации[7]. Поскольку оракулы функционируют в рамках вычислительных сетей, они также могут быть подвержены кибератакам, что снижает уровень безопасности. Провайдеры оракульных сервисов должны преодолевать эти сложности и доказывать свою надёжность пользователям.
Примеры сетей оракулов
- Oraclize: крупнейший публично доступный централизованный сервис оракулов
- Chainlink: сеть компании SmartContract, один из основных проектов по созданию децентрализованных оракулов. Система работает, но пока находится в стадии тестирования
- Augur (программное обеспечение): тестируемая сеть оракулов для создания рынков прогнозов
- Iexec: «Oracle Factory» — платформа для создания индивидуальных оракулов на основе любых данных; на момент написания проходит бета-тестирование