18 апреля 2020

Оракулы и блокчейн Tezos

Эта статья является адаптацией на русский язык статьи Oracles on Tezos от TQ Tezos

Введение

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

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

В этой статье мы кратко ознакомимся с тем, как оракулы соединяют данные реального мира с приложениями на блокчейне и представим смарт-контракт оракула на блокчейне Tezos, который может администрироваться с помощью multisig (или DAO).

Мы также предлагаем простую Dockerized Flask app в Python на основе смарт-контракта Tezos. Эта программа в течение последних нескольких месяцев публикует цену акций Apple (AAPL) с каждым блоком (~ 30 секунд) в тестовой сети Babylonnet, и сейчас она уже доступна в основной сети Tezos — Carthagenet.

Ресурсы для начала работы

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

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

Оракулы и доверие

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

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

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

Другие подходы, такие как Town Crier, используют доверенные среды выполнения, такие как Intel SGX, для предоставления аутентификованных каналов данных для смарт-контрактов (или частной / конфиденциальной информации).

Некоторые практические примеры

  1. Оракул, который предоставляет данные о погоде, может позволить контракт страхования от цунами: пользователи покупают подписку на контракт, который выплачивается, когда в их районе достаточно суровое цунами.
  2. Комбинация различных оракулов может быть использована для достижения консенсуса, например, когда достоверными считаются только результаты, опубликованные большинством оракулов.
  3. Оракул, который предоставляет информацию о ценах на XTZ / USD может позволить пользователям вносить деньги, которые сразу конвертируются в некоторый сетевой актив и представлены как фиатные средства.
  4. Оракул для внесетевых вычислений и оракул с ценовой подачей можно сочетать для взимания платы, исходя из текущих облачных спотовых цен.
  5. Доверенные стороны могут выставлять REST API’s в сети.
  6. Банки могут использовать оракулы или для публикации данных Payment Services Directive (PSD2), или предоставлять возможность пользователям делать запрос к оракулу, который осуществляет оффлайн вычисления.

Для других практических пособий посетите Портал Активов.

Подписывайтесь на наши соц.сети:

Telegram — https://t.me/TezosUkraine

Telegram News: https://t.me/TezosUkraineNews

Medium — https://medium.com/@tezosukraine

LinkedIn — https://www.linkedin.com/company/tezosukraine/

Facebook — https://www.facebook.com/tezosukraine

Twitter — English — https://twitter.com/UkraineTezos

Twitter — Ukrainian/Russian — https://twitter.com/Tezos_Ukraine

Instagram — https://www.instagram.com/tezos_ukraine/

Youtube: https://www.youtube.com/channel/UCq045ChzTASLBzsMrKCVQkQ

Reddit: https://www.reddit.com/user/Tezos_Ukraine

Hive: https://hive.blog/@tezosukraine

Обсудить в Discord!