Оракулы в области блокчейн-технологий
Главная
Статьи
Оракулы в области блокчейн-технологий

Оракулы в области блокчейн-технологий

Продвинутый
Опубликовано Jan 22, 2020Обновлено Nov 28, 2023
7m
Из представлений сообщества. Автор: Vallery Mou


Содержание


Что такое оракул на блокчейне?

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

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

Стоит отметить, что сам по себе оракул не является источником данных, это скорее один из слоев, который запрашивает, проверяет и аутентифицирует все показания внешних источников, а затем ретранслирует эту информацию. Данные, передаваемые оракулами, бывают разных видов: информация о ценах, успешное завершение платежа или температура, измеренная датчиком. 

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

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


Пример использования оракулов

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

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

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


Разновидности оракулов

Оракулы в блокчейне могут быть классифицированы в зависимости от ряда различных качеств: 

  • Источник – данные исходят от программного или аппаратного обеспечения?
  • Направление информации – входящая или исходящая?
  • Доверие – централизация или децентрализация?

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


Программные оракулы

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

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

В основном, данные, на которые ориентируются программные оракулы, включают в себя: рейтинги бирж, стоимость цифровых активов, информацию о рейсах в режиме реального времени и т.п.


Аппаратные оракулы

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

По сути своей деятельности, аппаратный оракул “переводит” реальные события в цифровые значения, которые можно считать с помощью смарт-контрактов.

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

Если вы желаете детальнее ознакомится с данной темой, мы рекомендуем вам прочитать следующую статью: «Варианты использования технологии блокчейн: цепочки поставок».


Входящие и исходящие оракулы

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

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


Централизованные и децентрализованные оракулы

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

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

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

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


Контракто-ориентированные оракулы

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

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


Человек-оракул

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


Проблемные аспекты оракулов

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

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

Атака посредника также может представлять угрозу, когда злоумышленник получает доступ к потоку данных между оракулами и контрактом, и модифицирует или фальсифицирует передаваемые данные. 


Заключение

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

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