Что такое блокчейн-оракул и как он помогает смарт-контрактам?

4797
Просмотры
Что такое блокчейн оракулы и как он помогает смарт-контрактам

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

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

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

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

Разновидности оракулов на блокчейне

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

  • ПО,
  • аппаратные,
  • входящие/исходящие,
  • консенсусные.

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

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

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

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

Исходящие оракулы дают смарт-контракту отправлять данные во внешний мир.

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

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

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

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

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

Концепция еще не пришла к окончательному решению, так что идеальное решение только предстоит найти.