Децентрализованные оракулы - вовсе не предсказатели

Table of contents

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

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

Оракулы - органы чувств блокчейна

Любой блокчейн - это замкнутая экосистема. Начиная от базового и простого блокчейна биткойна, и продолжая блокчейнами типа Ethereum с поддержкой смарт-контрактов, то есть работающими с программами (dApp), все подобные структуры на текущем этапе развития крайне мало сообщаются с внешним миром.

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

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

Оракул - поставщик информации в блокчейн из внешней сети

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

Функции оракулов

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

  • Listen (слушать) - функция с помощью которой оракул “замечает” в блокчейн-сети запросы в смарт-контрактах на какие-либо необходимые внешние данные.
  • Extract (извлекать) - с помощью этой функции оракул получает запрашиваемые блокчейном данные из внешних систем.
  • Broadcast (транслировать) - отправка полученных данных в смарт-контракты для их дальнейшего применения в блокчейне.

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

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

Простейшей аналогией может служить следующая:

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

Децентрализованные оракулы решают все подобные проблемы:

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

Пример важности децентрализованных оракулов из реальной жизни

Все еще не понимаете важности оракулов для блокчейн систем? Вот пример, когда отсутствие децентрализованных оракулов привело к огромным финансовым потерям:

DAI Coinbase pump liquidation data

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

Пользователи протокола Compound потеряли почти 100 миллионов долларов в результате использования централизованного источника информации (читай - централизованного оракула).

Что произошло? В качестве оценки стоимости протокол Compound использует стейблкойн DAI, который эквивалентен доллару США. Централизованный оракул Compound использует данные биржи Coinbase Pro. 26 ноября 2020 года на бирже Coinbase Pro произошел памп DAI, в результате которого цена DAI резко изменилась и составила $1.30. За счет этого стоимость предоставленных кредитов внезапно резко превысила их залоги. Передавший эту информацию оракул вызвал в результате автоматические ликвидации залогов заемщиков Compound на общую сумму 88.4 миллиона долларов. Попутно пострадал DeFi проект dYdX, на сумму около 8 миллионов долларов.

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

В заключение

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

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

Сейчас, в эпоху роста популярности проектов DeFi, оракулы стали еще более важными, чем когда-либо, поскольку все проекты так или иначе полагаются на использование оракулов для получения и обмена ценовыми данными для установления расчетов и предоставления инвесторам возможностей торговать напрямую без использования традиционных бирж. Не без основания считается, что текущий TVL (заблокированный в DeFi объем средств) вряд ли был бы достигнут без появления и использования таких служб децентрализованных оракулов, как известный сегодня многим Chainlink.