скачать
Закрыть меню -

Службы Oracles в блокчейне: связывание сторонней информации, находящейся вне блокчейна, с контрактами smart contracts

Published on: 26 мая, 2020

В пространстве блокчейна существует множество проектов, которым требуется постоянное взаимодействие с внешними источниками информации. Для передачи информации между разными участниками используются службы oracles. Проще говоря, службы oracles — это сторонние службы, которые позволяют контрактам smart contracts получать внешнюю информацию. Например, многие подключенные к Интернету продукты, такие как автомобиль, умный дом, арендованный велосипед и прочее, могут требовать отправки информации в smart contract в конкретном блокчейне. Скажем, у вас есть арендованный автомобиль, и вы хотели бы связать арендные платежи с контрактом smart contract, который бы вносил вашу историю платежей в блокчейн. Просто подумайте об Интернете вещей (IOT) и технологии блокчейн, и вы легко представите множество ситуаций, когда службы oracles могут использоваться при аренде или плате за использование нескольких устройств. 

Экстраполируйте эту идею на API, и вы получите множество дополнительных вариантов их использования. Например, разные стороны могут договориться о результате будущего события с определенными условиями, зафиксированными в smart contract. Для выполнения smart contract потребуется использование стороннего интерфейса прикладного программирования (API). Информация об API находится вне блокчейна, поэтому для исполнения контракта smart contract службе oracle потребуется собрать эту информацию и предоставить готовый результат. 

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

  1. Доверенные службы Oracles: Информация является централизованной или децентрализованной?
  2. Исходные службы Oracles: Информация была получена из программного обеспечения или от оборудования?
  3. Направление информационных служб Oracles: Информация является входящей или исходящей? 

 

Оборудование и программное обеспечение Oracle 

Как показано в приведенных выше примерах, некоторым smart contracts нужна информация из внешних источников, например от оборудования и программного обеспечения. Например, чтобы в цепочке поставок направить отдельную коробку в конкретный пункт назначения и отправить сообщение об этом в блокчейн, на этой коробке должен быть датчик (это оборудование). Также контракты smart contracts можно использовать для взаимодействия с информацией, находящейся в централизованной базе данных (вне блокчейна). Во всех примерах необходимы разные типы служб oracles. 

Централизованные и децентрализованные службы Oracles

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

Входящие и исходящие службы Oracles

Входящие службы oracles передают информацию от третьих сторон в smart contract, а исходящие — передают информацию из smart contract третьей стороне. В примере, который мы описали в начале этого сообщения, вы можете задать в блокчейне один адрес для арендных платежей по автомобилю. Контракт smart contract проверит график платежей и разблокирует двигатель автомобиля при отсутствии существенных задержек платежей (исходящая служба oracle). Или наоборот, вам может потребоваться, чтобы датчик или другое устройство отправили конкретную информацию в блокчейн, чтобы запустить контракт smart contract (входящая служба oracle). 

Для правильного исполнения smart contracts должны опираться на информацию, предоставленную службами oracles, поэтому уровень безопасности каждой такой службы имеет первостепенное значение. Если службу oracle можно легко взломать или скомпрометировать, все взаимодействующие с ней smart contracts получат искаженную информацию. Эту уязвимость часто называют проблемой Oracle, и ее решением занимаются многие компании, работающие в пространстве блокчейн. 

Как компания IOV Labs влияет на развитие служб Oracles?

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