А в чем проблема оракула? Почему сами блокчейны не могут вызывать API?

1. Что такое оракул?

Оракул блокчейна - это любое устройство или объект, который соединяет детерминированный блокчейн с данными вне сети.

В этом одном предложении есть что раскрыть.

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

Проблема с блокчейнами

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

Мы видим, когда мы отправляем 5 долларов от Боба Алисе, мы можем легко добавить 5 долларов на баланс Алисы и вычесть 5 долларов из баланса Боба. Каждый узел в сети может легко воспроизвести это, получить одинаковые результаты и оказаться в одном и том же состоянии.

Но что, если это не так? Давайте представим воображаемую цепочку блоков, в которой они используют API для проверки транзакций друг друга. Допустим, мы хотим отправить переменную сумму, основанную на цене ETH, Алисе со счета Боба. Наш контракт будет вызывать API, чтобы узнать цену ETH, а затем отправить эту сумму Бобу. Когда все остальные узлы проверяют это, они также должны вызывать этот API.

Но что происходит сейчас? Если они вызовут API даже мгновением позже, API может быть изменен - ​​обесценен, взломан или по ряду других причин - и все узлы получат другой результат. Это означает, что ни один из узлов не сможет договориться о фактическом состоянии цепочки блоков.

Именно по этой причине блокчейн Ethereum и большинство блокчейнов спроектированы так, чтобы быть полностью детерминированными. Это означает, что если бы мы воспроизводили каждую транзакцию, мы оказались бы в правильном состоянии. Если вы включите вызовы API или другие недетерминированные источники в инфраструктуру блокчейна, есть большая вероятность, что источник будет обесценен, взломан или даже просто сломан, и мы не сможем проверить транзакции.

В блокчейне механизм согласования значения данных называется консенсусом, и детерминизм важен для того, чтобы узлы могли прийти к консенсусу. Возможно, вы слышали о некоторых из них, например, Proof of Work (PoW) с консенсусом Накамото или Proof of Stake (PoS) с византийским консенсусом. Консенсус - один из ключевых ингредиентов, которые в первую очередь заставляют блокчейн работать.

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

Как оракулы решают эту проблему

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

Вот и все, это здорово! Но что я постоянно слышу о «проблеме оракула»?

2. В чем проблема Oracle?

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

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

Определение проблемы оракула

Проблема оракула - это сочетание этих двух частей:

  1. Сами по себе блокчейны не могут получить доступ к внешним данным.
  2. Использование централизованных оракулов сводит на нет преимущества смарт-контрактов и представляет собой серьезную угрозу безопасности.

Решение

Chainlink решает оба эти вопроса и является стандартом для децентрализованных оракулов.

Что такое децентрализованный оракул?

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

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

Существуют огромные торговые площадки, использующие технологию Chainlink, чтобы помочь вам выбрать свою сеть из независимых узлов, с которых будут извлекаться данные. Таким образом, у ваших смарт-контрактов никогда не может быть единой точки отказа.

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

Для видео-объяснения вы можете посмотреть это видео:

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

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

Вот почему нам нужны оракулы.