Что такое оракул в блокчейне
Об оракулах для блокчейнов и немного о Web3
В данный момент блокчейны сильно изолированны от внешних источников информации — как централизованных ресурсов, так и других блокчейнов. Чтобы разные цепочки блоков были совместимы и легко обменивались данными между собой (и с внешними ресурсами) можно использовать оракулов.
Что такое оракулы
Оракул — это система, которая получает и верифицирует события извне блокчейна и передает эти данные в блокчейн для использования в смарт-контрактах (или наоборот). Оракулы критически необходимы для смарт-контрактов, потому что смарт-контракты строго детерминированны. Информация должна поступать в смарт-контракт по определённому каналу, способному подтвердить её достоверность.
Есть несколько видов оракулов, обеспечивающих тот или иной вид связи:
Пример для чего это нужно: 3 оракула получают курс BTC/USD с Binance, BitMex и Coinbase, а на выход передают среднее значение. Так сглаживаются незначительные расхождения между биржами.
Рассказывая об оракулах и их реализациях нельзя пройти мимо Web3, концепции, ради которой они и придумывалось. Изначально Web3 был идеей семантической паутины, где каждый сайт размечен метаданными, чтобы улучшить взаимодействие c поисковыми системами. Однако современная идея Web3 — сеть, состоящая из dApps. А децентрализованным приложениям нужны оракулы.
Создать оракула самостоятельно можно (и, в некоторых случаях, нужно), но есть некоторые часто использующиеся оракулы (к примеру, генератор случайных чисел), поэтому рентабельно использование оракул-проектов. Два главных (на данный момент) проекта, разрабатывающие оракулов — Band и Chainlink.
Band Protocol
Band Protocol работает на алгоритме консенсуса dPoS (что это?) и поставщики данных отвечают за подлинность деньгами, а не только репутацией.
В экосистеме проекта есть три типа пользователей:
Среди оракулов, предлагаемых Band «из коробки»: время взлётов/посадок самолётов, карта погоды, курсы криптовалют, курсы золота и акций, информация о блоках биткоина, средняя цена газа, объемы на криптобиржах, генератор случайных чисел, Yahoo Finance, HTTP Status Code.
Кстати, среди инвесторов Band легендарный венчурный фонд Sequoia и Binance.
Chainlink
В целом, Chainlink и Band очень похожи — и в дефолтных решениях, и в возможностях разработки. Chainlink проще в работе, в нём нет голосования за провайдеров информации, а Band более гибкий, потому что использует Cosmos SDK и является 100% open source.
В данный Chainlink значительно популярнее, в списке партнёров проекта Google Cloud, Binance, Matic Network и Polkadot. Также Chainlink сконцентрировался на оракулах для сферы DeFi, которая сейчас стремительно растёт.
Ресурсы, данные которых можно получить через оракула от Chainlink.
Заключение
Оракулы — хорошая идея для получения данных из централизованных ресурсов в блокчейн, и я буду внимательно следить за её развитием. Однако если говорить о взаимной совместимости разных блокчейнов, есть другие решения, в том числе парачейны (ещё более многообещающая технология и тема моего следующего поста).
Для тех, кто хочет копнуть глубже: Band Docs, Chainlink Docs.
Понимание оракулов в блокчейне
Перевод статьи Thomas Bertani из блога компании Oraclize.
Этот пост дискуссия о том, чем на самом деле являются оракулы, так же мы расскажем о некоторых распространенных заблуждениях по этому вопросу.
Оракул — это третья сторона, вы общаетесь с оракулом когда вам нужны данные, которые вы не хотите (или не можете) извлекать самостоятельно. Причин для этого может быть много.
С одной стороны, вы можете не доверять отдельному объекту при подписании multi-signature транзакции Bitcoin. Например, вы хотите чтобы некоторые средства были перемещены только при определенных условиях. Вместо того, чтобы делать это самостоятельно (что не дает никаких гарантий внешним сторонам) или делегировать это третьей стороне (которой вы не хотите доверять, поскольку она может вести себя некорректно), вы разделяете процесс подтверждения транзакции различным сторонам (оракулам) через multi-signature транзакцию.
Путь с использованием N-of-M multi-signature транзакций заключается в том, что каждый оракул имеет только один закрытый ключ, и может поставить только одну подпись в тот момент когда он сочтет это нужным, но сама транзакция будет действительна одна и N-of-M оракулы будут иметь консенсус относительно того, какая транзакция должна пройти. Это намного правильней, чем доверять одной из внешних сторон, поскольку выбранные оракулы могут конкурировать и вы получаете низкую вероятность мошенничества.
Идея иметь распределенную oracles network существует уже несколько лет, однако найти консенсус по протоколу связи между оракулами (Orisi пыталась) сложно. Поиск сторон готовых присоединиться к oracles network, еще сложнее, так как необходим хороший процесс стимулирования, а так же простой и понятный дизайн с возможностью легко взаимодействовать и в этом пока консенсуса нет. Помимо всего этого существенным ограничением могут быть источники, которые вы хотите использовать для получения данных, так как некоторые из них могут быть недоступны без разрешения внешних сторон (подробнее об этом мы поговорим немного позже).
Если мы говорим о смарт-контрактах (Ethereum), то здесь совершенно по другому, логика подтверждения транзакций обеспечивается сетью через ваш собственный код смарт-контракта. Это означает, что оракул не ставит подпись после проверки некоторых условий, вместо этого он предоставляет вам данные, которые вы просили — условия могут быть проверены на вашей стороне напрямую, вы можете сами инициировать транзакцию или изменение статуса. Тем не менее вы не можете полагаться на распределенную сеть для получения внешних данных, так как приложения / сервисы, выполняемые в цепочках, живут в собственной замкнутой среде, и именно поэтому вам нужны оракулы для ввода внешних данных.
Растущие потребности в данных — это результат быстро растущих индустрий и соответственно находить данные, правильно их вытаскивать из реального мира становится все сложнее и сложнее. Однако, часто неправильное представление использования оракулов вызвано слабым пониманием того, какие данные вы хотели бы получать от оракулов.
Например, рынки предсказаний, такие как Augur или Gnosis, призваны дать хороший и надежный индикатор эволюционирующих настроений (или знаний) толпы вокруг фактов которые произойдут в будущем. Рынки предсказаний часто упоминаются как оракулы, но в более широком и совершенно другом смысле, чем мы обсуждали выше.
Еще один момент, который стоит обсудить, заключается в следующем: хотим ли мы назвать оракулом, только то что является например потоком котировок? Это всего лишь источник данных, и в большинстве случаев он не будет иметь никаких связей с блокченом. Финансовые учреждения часто считают «Bloomberg» или «Reuters» в качестве оракулов, но на самом деле используют их как источник данных. Быть оракулом, это значит взять на себя все сложности взаимодействия с блокчейном, а они не заинтересованы делать это, так как это требует дополнительных затрат и ресурсов. Тем не менее, оракул может предоставить доступ к данным Bloomberg, после того как выберет подходящий источник и правильную форму данных. Ссылаться на тех, кто представляется как «оракул» но на самом деле является «источником данных», это еще одно неправильное использованием этого термина.
Чтобы более глубоко понять это, мы можем определить 3 объекта:
Запрос — это алгоритм, который может понять выбранный вами источник данных, чтобы предоставить вам нужные данные.
Оракул/Сеть оракулов — это сторона которая отвечает за подключение к источнику данных. Здесь нужно обсудить два вопроса:
Подход Oraclize в качестве оракула отличается.
Вы можете рассматривать это как нечто среднее между оракулом и расширенной сетью оракулов. Oraclize потенциально может вернуть вам ответ, но не может изменять данные, поступающие из выбранного вами источника данных.
Мы предоставляем инструменты для проверки нашей честности с помощью которых вы можете сделать эту проверку самостоятельно. Здесь, например, наш сетевой монитор для Ethereum который подключается на вашей, клиентской стороне (вот почему это так тяжело) с публичными нодами Ethereum и шлюзом IPFS (или с вами сами, если хотите), чтобы вы смогли находить транзакции Oraclize и доказать правдивость верифицировав их. При том вы можете легко контролировать сеть самостоятельно, чтобы гарантировать, что Oraclize ведет себя честно, и мы действительно хотим побудить вас сделать это!
Что это значит на практике? Если мы изменим ваши данные, любой может проверить это в любое время, автоматически и в одно мгновение и наша репутация будет потеряна. Если вам кажется, что наши ответы по-прежнему звучат слишком рискованно, вы, вероятно, захотите дождаться, когда мы выпустим релиз с открытым кодом для Ethereum, над которым мы работаем. Это означает, что ваш код смарт-контракта может получать доказательство в TLSNotary самостоятельно, и если данные недействительны то вы можете отбросить данные Oraclize.
По нашему мнению, сервис Oraclize является хорошим компромиссом для решения «проблемы оракулов» который сегодня работая таким образом подходит блокчейну и смарт-контрактам. Наличие сети оракулов поможет решить проблему «цензуры/простоя», но риски, связанные с использованием единственного оракула, резко сокращаются благодаря новому подходу Oraclize.
Блокчейн-оракулы как связь между цифровым и реальным миром
Оракулы играют важную роль в экосистеме любого блокчейна, поскольку они являются решением одной из ключевых проблем распределенных сетей — отсутствием способа коммуникации с реальным миром. В связи с чем разработчики активно работают над реализацией и внедрением этих алгоритмов. Мы рассмотрели, как работают блокчейн-оракулы и почему их развитие сыграет ключевую роль в практическом применении смарт-контрактов.
Что такое блокчейн-оракул?
Любая распределенная децентрализованная сеть всегда детерминирована — транзакции в ней идут в строго хронологической последовательности, а сама сеть не может самостоятельно получать информацию из третьих источников и внешнего мира. Для этого в блокчейне существуют оракулы — инфраструктурные алгоритмы, которые переводят информацию, находящуюся вне сети, в понятный для блокчейна формат.
Таким образом, оракул можно рассматривать как способ связи блокчейна с реальным миром. Данная возможность играет ключевую роль, особенно в использовании смарт-контрактов — протоколов, которые обеспечивают автоматическое выполнение условий коммерческих сделок, проведения транзакций и обмена активами между сторонами без участия третьих лиц. Однако, работая со смарт-контрактами, предприниматели и компании часто сталкиваются с такими весомыми недостатками, как:
Смарт-контракты существуют только в крипто-пространстве, а для их работы необходим надежный блокчейн, внедрение которого — технически и финансово сложный процесс.
Поскольку смарт-контракт является алгоритмом, который должен учитывать множество факторов, то для корректного составления такого контракта нужно прописать большое количество возможных вариантов развития ситуаций, что значительно увеличивает шансы на критическую ошибку.
После запуска в смарт-контракт невозможно внести изменения или остановить его работу, пока все условия, прописанные в нем, не будут выполнены.
Однако, в отличие от блокчейна мир за пределами распределенной сети вовсе не является детерминированным, и, вполне вероятно, что одна из сторон или обе могут столкнуться с непредвиденными обстоятельствами, которые повлияют на условия выполнения смарт-контракта. В данном случае блокчейн-оракул позволит смарт-контрактам обновить условия своего выполнения посредством получения информации из внешнего мира. Так, оракул будет работать как своего рода советчик, к которому смарт-контракт может обратиться за интерпретацией определенных событий.
Как работает блокчейн-оракул
Один из ключевых вопросов, который встает перед разработчиками блокчейн оракулов — как объяснить смарт-контракту события достоверным, проверяемым, последовательным и прозрачным путем? Для этого необходимы три составляющих:
Источник данных
Запрос
Оракул/ Консенсус оракулов
Источник данных — это ресурс, который предоставляет нужную оракулу информацию. Типы данных, с которыми работают оракулы, сильно варьируются, поэтому источники могут быть самыми разными — от метеорологических ресурсов, предоставляющих данные о погоде, до информации Bloomberg о колебании цен на фондовом рынке или данных о будущих событиях от рынка предсказаний Augur.
Запрос — это специальный код, который работает с определенным источником данных. Благодаря запросу оракул получает нужные смарт-контракту данные.
Оракул/Консенсус оракулов — это алгоритм/группа алгоритмов, работающих в блокчейне, которые отвечают за подключение к источнику данных и интерпретацию полученной информации в понятный блокчейну формат.
Типы блокчейн-оракулов
В зависимости от своего предназначения и использования блокчейн-оракулы могут быть нескольких типов:
Оракул как ПО
Оракул, существующий в формате программного обеспечения, работает с информацией, которая находится онлайн. Такой оракул может предоставлять данные о погоде, температуре, ценах на услуги или товары, расписании транспорта и так далее. Эти данные оракул получает с сайтов компаний, обрабатывает и предоставляет смарт-контракту.
Аппаратный оракул
Некоторым смарт-контрактам необходима информация из реального мира о физическом выполнении определенных условий. Например, смарт-контракту могут понадобиться данные об автомобиле, который находится в зоне действия определенного датчика. Также аппаратный оракул может взаимодействовать с RFID-метками (метки радиочастотной идентификации) для работы смарт-контрактов в логистике. Основной проблемой для данного типа оракулов является обеспечение надлежащего уровня защиты считываемой информации.
Входящий оракул
Данный тип оракула работает непосредственно внутри самого смарт-контракта и предоставляет информацию из внешнего мира при определенных условиях. Например, для запуска автоматического ордера на покупку криптовалюты смарт-контракт должен знать, когда ее курс достигнет той или иной отметки. Данную информацию предоставит входящий оракул.
Исходящий оракул
Исходящий оракул, наоборот, может отправлять информацию во внешний мир. Так, система умной блокировки, которая существует в реальном мире, может автоматически предоставить пользователю доступ, как только она получит информацию об успешном платеже от оракула.
Консенсус Оракулов
Таким рынкам предсказаний, как Augur или Gnosis, необходимы оракулы для достоверного предсказания развития событий и конечных результатов. Однако, используя всего один источник информации, невозможно с точностью определить его надежность. В связи с чем рынки предсказаний используют не один, а несколько оракулов, чтобы предугадать последствия событий.
Кто разрабатывает блокчейн-оракулы
Разработкой проектов, связанных с развитием и внедрением блокчейн-оракулов занимаются несколько компаний:
Oraclize — предлагает безопасное и «доказуемо-честное» извлечение данных с веб-страницы, благодаря использованию TLSNotary/pagesigner — сервису, который предоставляет криптографические доказательства того, что полученные данные соответствуют тем, что были предоставлены сервером.
ChainLink — проект компании Smart Contract, который работает над запуском децентрализованной сети оракулов. По словам разработчиков, защищенная сеть оракулов способна решить проблему связи смарт-контрактов с внешним миром, тем самым увеличив варианты практического применения данных контрактов. ChainLink состоит из двух частей, способных к обмену информацией: блокчейна и оффчейна. Так ChainLink может извлекать данные интерфейсов программных приложений (API), пулов данных и других ресурсов из оффчейна и для интегрирования их в блокчейн.
BNC (BraveNewCoin) — организация, которая предоставляет анализ и исследования по криптовалютам. Совместно с компанией Smart Contract бесплатно запустила 14 публичных оракулов для смарт-контрактов на базе Ethereum. Эти оракулы предлагают информацию с котировками цен на основные криптовалюты, а их данные обновляются ежедневно. Подобные оракулы, которые поставляют финансовые данные о криптовалютах, могут быть использованы в программах, приложениях и крипто-кошельках.
Blocksense — стартап, который предоставляет целый спектр услуг на блокчейне, в том числе разработку и внедрение смарт-контрактов, работающих с блокчейн-оракулами. В список услуг также входит помощь в запуске проекта, развитие компании на блокчейне, а также консалтинг и предоставление обучающих курсов.
По мере развития блокчейн-экономики экосистема оракулов будет стремительно развиваться как надежный способ связи цифрового мира с реальным. Именно блокчейн-оракулы смогут решить проблемы коммуникации блокчейнов, а также обеспечить более широкое применение смарт-контрактов в различных индустриях, заинтересованных в использовании децентрализованных сетей.
Что такое Оракул? Как работает? Для чего нужен? Кем используется?
Оракулы делают данные пригодными для использования в блокчейне. Это позволяет смарт-контрактам автоматически выполнять расчеты при выполнении их условий.
Данные из внешнего мира должны быть введены вручную для взаимодействия с блокчейном с помощью оракулов.
Но это происходит медленно и может привести к ошибке пользователя или смещению. Оракул предлагает потенциал для взаимодействия блокчейнов в реальном времени с повседневными объектами, включая интеллектуальные устройства и другую цифровую информацию.
Чем ограничиваются смарт-контракты?
Смарт контракты могут работать с данными в цепочке блоков, такими как транзакции Биткоина или введенные вручную данные.
Но данные вне цепочки, такие как результаты футбольных матчей, показания температуры и сканирование штрих-кода, естественно не совместимы. Смарт-контракты и данные вне цепи подобны нефти и воде.
Что такое Оракул?
Оракулы извлекают данные из реальной цепочки и делают их пригодными для использования в блокчейне. Представьте себе, если бы вы использовали смарт контракт, целью которого был спор, о том, что Россия выиграет в предстоящем футбольном матче.
Оракул может взять цифровые данные со спортивных сайтов и подтвердить, какая команда действительно выиграла. Контракт будет выполнен, и вы получите свой выигрыш.
Обратите внимание, что самая первая концепция смарт контракта была разработана Ником Сабо, специалистом по компьютерам, который был связан с Биткойном с самого начала.
Зачем нужны Оракулы?
Возьмем пример ставок, споров. Если человек, против которого вы ставите, оспаривает результат, вы все равно получите свои деньги.
Это называется безотказной системой, один из принципов, на котором был создан Биткойн. Оракул также открывают смарт контракты для гораздо более широкого спектра информации. В противном случае они были бы очень ограничены.
Оракул может предоставить смарт-контрактам доступ к более широкому массиву информации. Они могут позволить смарт-контрактам подключаться к API.
Где можно использовать Оракул?
Оракулы открывают «смарт» контракты для широкого спектра применений:
К примеру, вычислительный гигант IBM предлагает платформу глобальной цепочки поставок под названием TradeLens, в которой используется технология блокчейна.
Как это работает?
Пользователь делает запрос данных на платформе блокчейна. Затем выбираются узлы для выполнения задачи получения этих данных.
Вне цепочки они получают необходимые данные, а затем возвращают их обратно в цепочку блоков.
Какие компании так работают?
Лондонская компания Oraclize работает над оракулами с 2015 года, и ее платформа подключается к Биткоину, Эфиру и EOS. Эта платформа не зависит от блокчейна, поэтому может быть применена к еще большему количеству блокчейнов.
Оракулы также является частью платформы Corda, которая также является платформой корпоративного уровня. Она разработана блокчейн-консорциумом R3.
«Чтобы смарт контракт был действительно умным и полезным, необходимо создать оракула, предоставив ему значимые данные». Томас Бертани, основатель Oraclize.
Оракулы децентрализованы?
Оракулы предназначены для соединения ненадежных блокчейнов с реальными источниками данных без посредников. Однако они часто связаны с одним источником данных, что означает, что они централизованы и имеют единую точку отказа.
Одной из компаний, создающих децентрализованные оракулы, является Chainlink. Chainlink владеет веб-сайтом SmartContracts.com, но недавно переименовал его в Chain.link.
Проблемы
Основная проблема с оракулами заключается в том, что люди должны доверять этим внешним источникам информации, независимо от того, приходят они с веб-сайта или с сенсора. Так как оракулы являются сторонними сервисами, которые не являются частью механизма согласования блокчейна, они не подчиняются базовым механизмам безопасности, которые предоставляет эта общедоступная инфраструктура. Следовательно, есть риск «атаки посредника», стоящего между смарт-контрактами и оракулами.
Вывод
Смарт контракты могут переопределить бизнес-транзакции и юридические документы, предоставляя им надежную среду для работы.
Оракулы могут принести в эти документы реальные данные и изменить облик бизнеса, каким мы его знаем сейчас. В следующий раз, когда у вас кончится молоко, ваш холодильник сможет просто заказать его и расплатиться с помощью криптовалюты.
Как только реальные данные будут связаны с блокчейнами, все станет возможным.
Что такое блокчейн-оракулы и какую роль они выполняют
Блокчейн-оракулы – это те самые переводчики и проводники, которые связывают источники данных из внешнего мира (Интернета) и блокчейн. Оракулы принимают информацию с различных источников и преобразуют ее в язык, понятный смарт-контрактам – программам, которые автономно обрабатывают операции на блокчейне. Другими словами, оракулы обслуживают всю экосистему Web3.
Среди данных, получаемых оракулами, могут быть такие, как текущее состояние сети или актуальный курс криптовалюты. Смарт-контракты используют эти данные в соответствии с правилами, заложенными в исходном коде, а затем транслируют пользователям и контролируют сделки на их основе.
Без оракулов блокчейн и умные контракты не смогли бы получить доступ к данным из внешнего мира, поскольку это не заложено в их протоколах. Оракулы значительно расширяют область применения смарт-контрактов за счет того, что они могут работать с данными вне блокчейна.
Оракулы могут не только принимать данные из внешних оффчейн-источников, но и отправлять их обратно. Функционал оракулов определяется разработчиками в зависимости от целей их использования.
В зависимости от принципа работы различают несколько видов оракулов:
Как используются оракулы
Вариантов использования оракулов – множества. Прежде функции смарт-контрактов были ограничены. Программа отслеживала и контролировала выполнение условий сделки только внутри блокчейна. Например, при покупке токенов продавцу необходимо обеспечить их поставку. Если один из пользователей их не выполнит, то сделка не будет совершена, а зарезервированные монеты отправятся обратно владельцам.
Тогда вмешиваются оракулы, которые получают данные о курсе криптовалют через API биржевой платформы или сервис для мониторинга курсов в режиме реального времени. Смарт-контракт получает данные, сверяет их с прогнозами игроков и переводит монеты победителю, который был ближе всего к правильному ответу.
Кстати, достоверность криптовалютных котировок – еще одна проблема, которую можно решить с помощью оракулов. Если прогнозы игроков близки друг к другу, то результат может быть ошибочным, поскольку курсы на различных платформах отличаются.
Для решения этой проблемы разработали блокчейн Chainlink, состоящий из децентрализованной сети оракулов. Оракулы получают данные из различных источников и сверяют их между собой. Только после этого информация отправляется на смарт-контракт. Таким образом смарт-контракты получают более достоверную и точную информацию, чем при работе отдельного оракула. К тому же, этот подход исключает любые манипуляции с данными.
Но эта глобальная проблема – не единственная. Оракулы выступают посредниками между пользователями и смарт-контрактами, поэтому конечный результат зависит от достоверности данных оракула. Если он будет скомпрометирован, то и смарт-контракт выполнит некорректную сделку. Решение Chainlink устраняет зависимость от одного конкретного оракула, способствуя децентрализации.
Другой яркий пример применения оракулов – блокчейн-проект Provable. Платформа предоставляет готовые решения на базе оракулов для разработчиков децентрализованных приложений (dApps). Provable позволяет интегрировать такие решения, как ГСЧ для азартных игр на блокчейне, поставщик достоверных данных и модуль безопасности Provable военного уровня для самых важных процессов. Блокчейн Provable позволяет убедиться, что данные поступают в исходном виде и не были модифицированы.
Заключение
Блокчейн-оракулы повышают масштабируемость блокчейн-экосистемы Web путем ее слияния с внешним миром и повышает прозрачность данных. Такой механизм благоприятно способствую массовому внедрению децентрализованных решений в традиционные системы. Оракулы построили нерушимый мост между он-чейн и офф-чейн экосистемой и наладили совместимость между ними.



