Оракул в блокчейне — это часть инфраструктуры, которая соединяет блокчейны с внешним миром, снабжая их данными, собранными за пределами сети.
Они помогают передавать определённому блокчейну реальные данные, ведь иначе его узлы видят только те события, которые происходят в этом блокчейне.
Для чего нужны блокчейн-оракулы?
Блокчейн-оракулы — ключевой компонент, который позволяет расширить возможности смарт-контрактов. По сути, они являются мостиком между двумя "мирами" — внутри блокчейна и за его пределами.
В эпоху Web3 и DeFi смарт-контракты используются самыми разными способами во всех возможных областях, и каждый раз требования разные.
Иногда эти требования создают проблемы для сетей блокчейнов, в которых узлы способны обрабатывать только данные, находящиеся внутри самой цепочки. Что, если источник данных или переменные для подсчётов поступают из-за пределов блокчейна и постоянно меняются?
Именно тогда на сцену и выходит оракул; с его помощью блокчейны могут обрабатывать полученные извне данные — внесетевые данные — и получать надежные результаты.
По факту любой объект, который передает внесетевые данные в детерминированный блокчейн — то есть в блокчейн, где узлы производят транзакции по заданному шаблону, — называется "оракулом".
Виды блокчейн-оракулов
"Оракул" — это общий термин для множества различных систем, которые различаются по способу работы. Существует несколько способов разделять блокчейн-оракулы на разные типы.
Аппаратные и программные оракулы
Здесь одно из ключевых различий между видами используемых блокчейн-оракулов — данные, которые те могут обрабатывать. Из-за различий в требованиях нужны разные источники данных для блокчейна, причём не просто постоянно обновляющийся рынок криптовалют или другой цифровой источник.
Некоторые оракулы специально созданы для работы с не-цифровыми оффлайн-данными: например, с показаниями датчиков движения. Такие оракулы называют аппаратными, потому что именно это они и делают — подключаются к внешнему оборудованию или периферийным устройствам компьютера, чтобы получать данные и передавать их в блокчейн. Они делают это с помощью датчиков Интернета вещей (Internet of Things, IoT) и меток радиочастотной идентификации (radio frequency identification, RFID).
Так что в "традиционном" понимании блокчейн-оракулы именно программные. Они собирают данные из оцифрованных источников. Однако с точки зрения безопасности аппаратные оракулы считаются лучшим вариантом для настройки блокчейна, ведь по сравнению с программными оракулами их сложнее взломать.
Входящие и исходящие оракулы
Еще одна особенность работы оракулов связана с их статусом «моста». Мосты можно пересекать в любую сторону, поэтому данные могут так же легко перемещаться из блокчейна в "реальный мир", как и обратно.
Таким образом, оракулы могут работать либо "на вход", либо "на выход" в зависимости от направления этого потока данных. Например, если по условиям торговли требуется, чтобы смарт-контракт обрабатывал биржевые ордера, входящий оракул может передавать данные с рынка, чтобы определять, когда размещать ордер определенного типа. И напротив, исходящий оракул сообщает внешним объектам об изменениях в данных блокчейна.
Централизованные и децентрализованные оракулы
Оракул блокчейна с элементарной настройкой, который самостоятельно передает данные из внешнего мира, называется "централизованным" оракулом. В блокчейне, разумеется, с этим термином связаны некоторые неприятные ассоциации, и не зря — когда всё ценное находится в одном месте, поддерживать такую систему довольно тяжело. Если её взломают, всё может рухнуть. Это одна из основных проблем тех блокчейн-оракулов, которые работают как единственный арбитр блокчейна, то есть когда все данные поступают только от одного оракула.
Вот тут-то вступают децентрализованные оракулы, или "оракулы консенсуса". Благодаря децентрализованности оракула блокчейн может обращаться к нескольким источникам данных, снижая давление на одну точку, из-за которого мог бы рухнуть весь блокчейн.
Вероятно, на 2022 год самая известная децентрализованная сеть оракулов — это Chainlink; её токен LINK, наряду со многими другими, доступен для торговли на TabTrader.
Человеческие оракулы
При настройке блокчейна термин "человеческий" указывает на то, может ли оракул работать без участия человека.
Некоторые источники данных по сути своей субъективны; например, когда группа пользователей голосует за абстрактный вопрос, ответ на который зависит от личных предпочтений. Такие сложные данные, которые невозможно собрать и определить автоматически, можно ввести в блокчейн именно благодаря человеческим "оракулам".
Оракулы, созданные для определённых контрактов
Как заметно из названия, такие оракулы предназначены для работы только с одним смарт-контрактом. В этом есть свои преимущества — оракул, разработанный только для одной задачи, можно настроить так, чтобы он чётко удовлетворял потребности именно этого смарт-контракта. В то же время, как правило, на создание и обслуживание таких оракулов нужно много времени. Более того, если есть несколько смарт-контрактов, для каждого из них потребуется свой оракул.
Вычислительные оракулы
На самом деле оракулы способны на гораздо большее, чем просто работа "мостиком" между внесетевыми и сетевыми сферами. Прежде чем передать данные в блокчейн, вычислительные оракулы могут обрабатывать их и производить вычисления — что особенно удобно, если затраты на вычисления в сети сильно ударяют по карману. Таким образом, вычислительные оракулы позволяют выполнять прозрачные вычисления от имени смарт-контракта за пределами сети.
В чём проблема с оракулами?
Вышеупомянутая разница между централизованными и децентрализованными оракулами стала поистине ключевой темой споров в мире блокчейна и известна как "проблема оракулов".
Проблема оракула состоит в сочетании безопасности и полезности: "Как я могу удостовериться, что данные оракула защищены, если есть только один оракул?"
Это порождает дилемму — смарт-контракты предназначены для устранения рисков и человеческих ошибок, но если их работа зависит от одной-единственной критической точки, а именно, от централизованного оракула, её работоспособность можно легко подорвать.
Как разрешить проблему оракулов
Чтобы решить эту проблему, можно использовать децентрализованных оракулов, которые уменьшают угрозу атаки и тем самым понижают вероятность проблем с безопасностью, диверсифицируя каналы, откуда смарт-контракты получают данные.
В этом и заключается основная миссия Chainlink и других схожих проектов — предоставить интерфейс, который бы не зависел от блокчейна и устранял ловушки централизации. Chainlink — это, по сути, распределенный пул децентрализованных оракулов, и от всех них можно получать данные.
Выводы
Блокчейн-оракулы — ключевая деталь всей инфраструктуры Web3 и DeFi. Они отвечают за связь между онлайн- и оффлайн-мирами по части данных, используемых в смарт-контрактах на детерминированных блокчейнах.
Без них большая часть систем по принципам Web3 и DeFi не смогла бы работать, ведь они остались бы без необходимых им источников данных, так что можно сказать, что оракулы способствуют быстрому расширению отрасли.
Однако есть и некоторые подводные камни, связанные с проблемами безопасности и уязвимостью централизованных оракулов, в частности, с хакерскими атаками.
Оракулы блокчейна важны и для криптотрейдеров, ведь популярные токены, помимо своих внутренних функций, способствуют росту и расширению DeFi.
В TabTrader можно найти множество DeFi-токенов для торговли на самых популярных биржах. Чтобы начать, скачайте приложение TabTrader для iOS и Android, а также веб-версию.
Хотите узнать больше о Биткоине и криптовалютах и начать лучше торговать? Вся интересующая вас информация доступна в Академии TabTrader.