Оракулы в блокчейне — надёжные поставщики данных

    Оракулы в блокчейне — надёжные поставщики данных
    0

    Оракул (с англ. oracle – непреложная истина) в блокчейне – провайдер данных. Необходимость в оракулах появилась, потому что любая сеть (например – Ethereum) закрыта от внешнего мира, и может получать данные только сама из себя.

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

    Зачем нужны блокчейн-оракулы?

    Любой сервер, в отличие от блокчейна, может быть скомпрометирован. Оператор, управляющий сервером биржи, может подменить курс в базе данных, например 1$ за Биткоин, и потом это попадёт в контракт. Нарушается основное преимущество криптовалютных сетей – неизменность.

    Оракул решает эту задачу, подключая различные источники данных. Представим, у нас есть 10 высоколиквидных бирж и они показывают курс BTC: 40210$, 40260$, 40205$, 40373$... В итоге оракул выдаст среднее арифметическое. Если же какой-то из участников будет значительно отличаться от остального рынка, показав курс 1$, то эта информация не будет учитываться, и такой источник даже может быть оштрафован.

    Схема работы блокчейн оракула

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

    Таким образом, децентрализованный блокчейн получает данные из интернета, и оракулы решают одну из главных задач перехода в эру Web3.

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

    1) Скорость обновления со временем должна вырасти, но пока что на цикл получения и обработки данных уходит от 5 до 30 минут, а это не позволяет достигать идеальной точности. Допустим, цена ETH актуализируется лишь раз в полчаса.

    2) При недостаточном количестве источников, или их компрометации ⅔ из них оракул всё же может пропустить недостоверную информацию.

    Виды блокчейн-оракулов

    Разработчики находят всё больше вариантов применения технологии. Зависимо от архитектуры, оракулы делятся на подвиды.

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

    Работают с кодом внутри интернета. Получают код, обрабатывают и записывают в блокчейн.

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

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

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

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

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

    Разница между ними в количестве источников.

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

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

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

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

    Спортивные сайты сообщают о результатах футбольного матча. Журналисты более независимы, чем даже официальная сводка, и мы можем найти сотни разных ресурсов со всего мира. Объединив информацию из всех, мы гарантированно узнаем, что счёт например был 3:1, и никак иначе.

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

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

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

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

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

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

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

    Список проектов оракулов

    С огромным отрывом по количеству партнёров и интеграций идёт Chainlink.

    Количество партнёрств интеграций у платформ блокчейн оракулов 2022

    Рассмотрим самые популярные протоколы с оракулами для блокчейна:

    Основан в 2017 году Сергеем Назаровым и Стивом Эллисом.

    Chainlink Логотип

    Основные продукты:

    • Feeds (ончейн фиды данных и цен)
    • VRF (рандом)
    • Keepers (автоматизация действий смарт-контрактов, скедулинг)
    • Proof-of-Reserve (доказательства резервов)
    • Cross-Chain Communication (децентрализованные мосты между разными сетями для смарт-контрактов)

    Поддерживает сети Ethereum, Polygon, Avalanche, Arbitrum, HECO, Optimistic, Fantom и расширяет список.

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

    Band

    Основали в 2017 году Соравис Шринавакун, Соравит Суриякарн и Пол Наттапацири.

    Band Protocol Логотип

    Основные продукты:

    • Standard Dataset (набор данных с курсами популярных криптовалют)
    • Oracle Scripts (публичная библиотека скриптов самых разных оракулов)

    Изначально строился на Ethereum, но с версией 2.0 мигрировал в Cosmos, а сейчас работает как независимая сеть BandChain.

    Однако получать данные ончейн можно через прокси контракты в целую серию сетей, включая Ethereum, Optimism, Binance, Fantom, Avalanche и ещё 10+, а также – все подсети Cosmos через IBC (Inter Blockchain Communication Protocol).

    UMA

    Основали в 2020 году Харт Ламбур и Эллисон Лу.

    UMA Protocol Logo

    «Оптимистичный» оракул это отдельный концепт, предложенный UMA (Universal Market Access). Его идея в том, что любой участник может опубликовать информацию ончейн и она будет считаться правдивой, пока кто-то другой не возразит. Для этого используется DVM (Data Verification Mechanism, от англ. — механизм верификации данных).

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

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

    Поддерживает сеть Ethereum и одноимённую сеть второго уровня Optimistic, а также Polygon.

    NEST

    Основан в 2020 году.

    Nest Protocol Logo

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

    Доступен в сетях Ethereum и Binance.

    API3

    Основали в 2020 году Бурак Бенлингирай, Хейкки Ванттинен и Саша Милич.

    API3 Logo

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

    Примечательно что не поддерживается сеть Ethereum, а только Avalanche, Binance, Milkomeda, Polygon, RSK.

    Ещё больше

    Существуют десятки развивающихся протоколов оракулов:

    • iExec RLC
    • WINkLink
    • XYO
    • Augur
    • Tellor
    • DIA
    • AirSwap
    • Drep
    • Bridge Oracle
    • Kylin
    • HAPI Protocol
    • Modefi
    • Oraichain
    • Razor Network
    • Idena
    • ODIN Protocol
    • Bird.Money
    • Zap
    • Umbrella Network
    • Ares Protocol
    • Standard Protocol
    • UTU Protocol
    • Zoracles
    • OptionRoom
    • OracleChain
    • Berry Data
    • DOS Network
    • ORAO Network
    • SEOR Network
    • xFund
    • Flux
    • DeCredit
    • Equilibria
    • ADAM Oracle
    • Orakuru
    • PolkaCipher

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

    Технология всё ещё находится на стадии освоения. Оракулы активнее всего используют DeFi проекты.

    Погода

    Через датасет от Google Weather, можно сделать запрос через Chainlink и получить ответ от смарт-контракта: температуру, дождь, туман и другие подробности в выбранных координатах.

    Сейчас такой реквест обойдётся очень дорого (в несколько $) и получение погоды с оракула бессмысленно, но это важный шаг в освоении потенциала передачи данных из открытого веба в закрытую систему блокчейн.
    Код оракула для погоды Chainlink

    Курс криптовалют

    Price Feeds (прайс фиды или же по-русски — источники цен) позволяют бесплатно читать из смарт-контракта Chainlink курсы в популярных парах.

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

    Оракул цены ETH в USD (Chainlink Pricefeed)
    Затем смарт-контракты могут использовать эту цену для построения финансовых продуктов. К примеру на платформе Trader Joe есть опция займов под залог. И благодаря прайс фидам ликвидации могут происходить ончейн.

    Доказательство резервов

    Wrapped Bitcoin — токен в сети Ethereum, который стремится по цене к Биткоину (1:1). Чтобы обеспечить достаточный уровень доверия и не произошёл депег, реальные Bitcoin замораживают в контракте на время выпуска WBTC. Если владелец хочет получить BTC обратно за свои WBTC — токен WBTC сжигается (поскольку изначально ничего и не стоил) и владельцу высвобождаются из контракта реальные BTC в сети Bitcoin.

    Резервы WBTC в PoR оракуле Chainlink

    Chainlink получает данные о том, сколько всего WBTC есть в обращении, от ряда оракулов: Inotel, Simply VC, Chainlayer, Linkpool, MyCelium, Fiews, Linkforest, Linkriver, Blokcdaemon… Ответов 70% узлов достаточно, чтобы выдать усреднённый результат и записать его в блокчейн.

    Теперь любые смарт-контракты в сети Ethereum могут запрашивать это число и знать, какой резерв WBTC в обращении.

    WBTC лишь один пример реализации доказательства резервов (PoR, Proof-of-Reserves). Аналогичным образом в блокчейн можно заносить и резервы любых других активов, что хотят выпустить токен в другой блокчейн сети, чтобы он был эквивалентный по ценности.

    Псевдослучайные числа

    Блокчейн открыт и предсказуем, потому для создания случайности: например в играх жанра GameFi (P2E) или розыгрышах призов, требуется привести рандом извне. Оракул от Chainlink — VRF (Verifiable Random Function с англ. — проверяемая функция случайности) позволяет получить случайную строку или список строк, в обмен на небольшое количество токенов LINK.

    В игре Aavegotchi пользователи покупают и открывают порталы с призраками. VRF позволяет генерировать их рандомно без риска.

    Порталы в Aavegotchi использующие рандом VRF от Chainlink

    Ваши идеи

    Попробуйте придумать полезный способ применения оракулов. Какие ещё данные из Web2 нужны блокчейну, чтобы надёжно использовать их в мире Web3?

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

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

    от Кошелёк