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



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

Механизм работы оракульской машины очень прост: это запрос-ответ. Смарт-контракт посылает внешний запрос «Дайте мне эти данные», а оракул перехватывает его, получает данные из реального мира и возвращает их в цепочку. Эта последовательность и есть базовая работа оракульской машины.

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

Чтобы запустить оракульскую машину Chainlink, необходимо перевести токены LINK. Эти токены реализованы по стандарту ERC677 на сети Ethereum. Это важный момент: стандартный ERC20 не позволяет одновременно выполнять платежи и запрашивать услуги. Поэтому Chainlink предложил свой стандарт ERC677.

Ключевой метод ERC677 — это «transferAndCall». Он позволяет завершить передачу токенов и запрос услуги в рамках одной транзакции. Когда пользователь вызывает transferAndCall, кроме перевода токенов, автоматически вызывается метод onTokenTransfer у получателя.

Когда оракульская машина получает запрос, она сначала проводит несколько проверок безопасности: действительно ли вызов пришел из контракта LINK, правильный ли размер данных, корректен ли селектор функции. После успешных проверок генерируется уникальный идентификатор requestId и регистрируется в логах событий.

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

В реализации Chainlink предоставляет уже существующие ценовые фиды для торговых пар, то есть агрегаторы. Это избавляет разработчиков от необходимости указывать API самостоятельно. Например, для пар ETH/USD уже есть готовые данные, и вызов метода latestRoundData() возвращает актуальную цену.

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

Благодаря такой системе, возможны сложные DeFi-протоколы и финансовые продукты. Без оракульских машин невозможно связать блокчейн с реальным миром. В Gate.io можно найти проекты, использующие такие оракулы, так что если интересно — стоит посмотреть.
ETH-1,26%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
Добавить комментарий
Добавить комментарий
Нет комментариев
  • Закрепить