Представление сообщества — Автор: Валерий Моу


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

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

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

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

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

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

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


Пример блокчейн-оракула

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

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

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


Каковы различные типы оракулов блокчейна?

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

  • Источник – откуда берутся данные: программное или аппаратное?

  • Направление информации – входящее или исходящее?

  • Доверие – оно централизованное или децентрализованное?

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


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

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

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

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


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

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

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

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

Если вы хотите узнать больше по аналогичной теме, ознакомьтесь с примерами использования блокчейна: цепочка поставок.


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

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

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


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

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

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

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

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


Оракулы для конкретных контрактов

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

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


Человеческие оракулы

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


Проблема оракула

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

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

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


Заключительные мысли

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

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