Оракулы играют важную роль в экосистеме любого блокчейна, поскольку они являются решением одной из ключевых проблем распределенных сетей — отсутствием способа коммуникации с реальным миром. Разработчики активно работают над реализацией и внедрением этих алгоритмов. Рассмотрим, как работают оракулы в блокчейне, и почему их развитие играет ключевую роль в практическом применении смарт-контрактов.
Оракулы в блокчейне
Оракулы — это сторонние сервисы, которые предоставляют смарт-контрактам связь с внешними источниками информации, т.е. выступают в качестве моста между блокчейнами и внешним миром. Блокчейны и смарт-контракты не могут получить доступ к данным на оффчейне (за пределами сети). Однако, для многих договоров, важно иметь возможность извлечь информацию из внешнего мира для соблюдения условий соглашения.
При таких обстоятельствах в дело вступают оракулы, так как они обеспечивают связь между внешними и внутренними источниками. Оракулы являются необходимым элементом блокчейн-экосистемы, поскольку они расширяют возможности смарт-контрактов. Без оракулов смарт-контракты будут ограничены, поскольку они смогут получать доступ к данным только в рамках своей сети.
Oracle — не источник данных, это скорее один из слоев, который запрашивает, проверяет и аутентифицирует все показания внешних источников, а затем ретранслирует эту информацию. Данные, передаваемые оракулами, бывают разных видов: информация о ценах, успешное завершение платежа или температура, измеренная датчиком.
Для запроса данных из вне, необходимо привести в действие смарт-контракт и потратить на это сетевые ресурсы. Некоторые оракулы могут не только передавать информацию в смарт-контракты, но и отправлять ее обратно на внешние источники.
Есть много разных видов оракулов, но то, как он работает, полностью зависит от того, для чего он предназначен.
Типы оракулов в блокчейне
Оракулы в блокчейне делятся по источникам данных:
- Программные — собирают данные из интернет-источников, например, сайтов, в реальном времени. Такие оракулы собирают информацию о котировках и обменных курсах криптовалют;
- Аппаратные — собирают данные из окружающей среды, например, с помощью датчиков движения или штрих-кодов. Такие оракулы могут использоваться в Интернете вещей (IoT), например, для подтверждения того, что заказанный груз на месте;
- Консенсусные — собирают информацию от протоколов рынков предсказаний, как Augur или Gnosis.
Рынок предсказаний — это разновидность спекулятивных рынков, где участники создают прогнозы. На них торгуются спекулятивные активы, чья итоговая стоимость зависит от определенного события или достижения заданного параметра. Например, от объемов продаж компании или выигрыша футбольной команды. Рынок предсказаний позволяет инвесторам зарабатывать на правильной оценке вероятности того, что то или иное событие произойдет. Таким проектам необходимы оракулы для достоверного предсказания развития событий и итогов. Однако, используя оракул, который опирается только на один источник информации, невозможно с точностью определить его надежность. Поэтому на рынке предсказаний используют не один, а несколько оракулов.
Оракулы в блокчейне делятся по направлению передачи информации:
- Входящие — предоставляют в смарт-контракт данные из внешнего мира;
- Исходящие — передают информацию из смарт-контрактов во внешний мир. Например, смарт-контракт может быть запрограммирован на разблокировку умного замка в квартире на Airbnb — он откроется, если владелец подтвердит поступление платежа за аренду.
Блокчейн-оракулы делятся по степени централизации:
- Централизованные — используют только один источник данных и контролируются единым центром;
- Децентрализованные — запрашивают данные от нескольких источников и сравнивают их.
Обычно Oracle попадает сразу в несколько категорий. Например, Chainkink — это оракул, который сообщает протоколам данные о котировках криптовалют, является децентрализованным, входящим и программным.
Уязвимости оракулов в блокчейне
Блокчейн-оракулы несут в себе риски. Например, оракулы — основная проблема безопасности смарт-контрактов. Децентрализованные блокчейны, как Ethereum, были созданы для того, чтобы не зависеть от третьих сторон. Но Oracle — как раз одна из них.
Главная его задача — предоставлять достоверную информацию. Например, простой ответ на простой вопрос «сколько сейчас стоит биткоин» может быть различным: он зависит от торговой площадки и точного времени. Если данные оракула искажены, то смарт-контракт будет работать некорректно, и пострадает вся блокчейн-система. Это одно из препятствий для более широкого внедрения смарт-контрактов в блокчейн-сети.
Централизованные блокчейн-оракулы несут в себе самые серьезные риски. Их легко скомпрометировать и они более восприимчивы к манипуляциям, чем децентрализованные решения.
Например, среди основных уязвимостей DeFi — атаки на централизованные ценовые оракулы, которые собирают для DeFi-протоколов информацию о цене крипты на разных биржах (так рассчитывается размер обеспечения кредита). Но централизованные оракулы опираются только на один источник информации. Если в коде DeFi-протокола есть эксплойт, злоумышленник может обмануть Oracle и полагающийся на него смарт-контракт — тогда монеты будут проданы по другим, выгодным преступнику, курсам.
Хакеры могут выводить из протоколов децентрализованных финансов десятки миллионов долларов. Разработчики знают об этой проблеме, но как ее решить, не понимают. Поэтому хакеры могут вывести деньги из любого DeFi-протокола, который полагается на централизованный ценовой Oracle. В связи с этим популярность набирают децентрализованные оракулы, например, решения Chainlink (LINK), Band Protocol (BAND), Augur (REP) и MakerDAO (DAI).
Другая проблема использования оракулов — они увеличивают траты пользователей и нагружают сеть. Чтобы внешние данные поступили в смарт-контракт, его надо вызвать, потратив ресурсы сети — например, газ в Ethereum.
Каждый раз, когда новый оракул нужно добавить в блокчейн или скорректировать существующий метод агрегирования данных, требуется масштабная координация управления. Это необходимо, чтобы каждая нода сети согласилась и обновила свое программное обеспечение. То есть возникают расходы и дополнительные усилия, которые ограничивают скорость распространения блокчейн-оракулов.
По этим причинам оракулы не интегрируются в базовый уровень любого крупного блокчейна, а вместо этого работают как отдельные сети.
Почему децентрализованные приложения не могут без оракулов
Дело в фундаментальном различии форматов. Блокчейн полностью детерминирован. События (транзакции) в нем проходят в строгой последовательности. Доступ к внешней информации нарушает эту последовательность и лишает применение блокчейна всякого смысла. Эта особенность предотвращает любое изменение сохраненных данных, но ограничивает гибкость.
В отличие от этого мир за пределами блокчейна не является детерминированным. События здесь происходят не строго по порядку, что приводит к некоторым проблемам с прозрачностью. Данные могут создаваться и использоваться в любой момент. Растет гибкость, но возникают трудности в обмене информацией с блокчейн.
Фундаментальное различие по умолчанию делает оба мира несовместимыми друг с другом, и только присутствие оракулов позволяет наладить обмен информацией между ними.
Последние достижения в развитии оракулов в блокчейне
Разработчики стараются увеличить интеграцию блокчейна в окружающий мир. Поскольку оракулы являются разновидностью смарт-контрактов, способной взаимодействовать с блокчейн и поставлять необходимые данные, от разработчиков требуется опыт как в децентрализованных базах данных, так и за их пределами.
Высокая необходимость во внешней информации для работы блокчейна привела к возникновению ряда интересных проектов. Например, некоторые оракулы умеют связывать распределенные базы с любым API, проводить транзакции через традиционные платежные системы и обеспечивать взаимодействие смарт-контрактов с разными блокчейнами.
Прогнозы на будущее
По мере развития смарт-контрактов, нужда в новых оракулах будет возрастать. Это приведет к увеличению инвестиций, а инновации сделают простым и элегантным взаимодействие blockchain-to-web.
Одной из наиболее вероятных и многообещающих перспектив является создание единой интегрированной платформы для взаимодействия блокчейна и внешнего мира. Стандартизированные инструменты и интерфейсы упрощают работу как для разработчиков, так и для пользователей сервисов на блокчейн-технологии. Значит, мы, вероятно, увидим ожесточенную конкуренцию между несколькими провайдерами, пока один или несколько из них не получат широкого признания у аудитории.