Машина Oracle как мост данных между Блокчейн и реальным миром

robot
Генерация тезисов в процессе

Машина Oracle: мост между Блокчейн и реальным миром

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

Например, предположим, что мы создаем смарт-контракт в сети Ethereum, который требует получения данных о торговом объеме нефти за определенный день. Поскольку смарт-контракт сам по себе не может напрямую получать такие данные из реального мира вне сети, необходимо использовать Машину Oracle для их получения. В этом случае смарт-контракт запишет необходимые данные о торговом объеме нефти в журнал событий. Затем вне сети запустится процесс для мониторинга и подписки на этот журнал событий. Когда будет обнаружен запрос в транзакции, этот процесс через подачу транзакции на блокчейне вызовет соответствующий метод контракта, чтобы загрузить информацию о торговом объеме нефти за указанную дату в смарт-контракт.

! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)

Chainlink: Лидер Блокчейн Машина Oracle

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

! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201

С triggering Машина Oracle Chainlink необходимо осуществить перевод токенов LINK. LINK является токеном контракта ERC677, основанным на сети Ethereum. Функции Машины Oracle, реализованные на базе токена LINK ERC677, относятся к модели запрос/ответ.

) transferAndCall в токенах ERC677

Стандарт ERC677 был предложен Chainlink для адаптации к сценарию услуг Oracle. Он добавляет метод transferAndCall на основе стандартного ERC20, объединяя платежи и запросы на услуги в одно целое, что удовлетворяет требованиям сценария бизнеса Oracle.

Когда пользователь использует transferAndCall для перевода, кроме обычного перевода ERC20, также проверяется, является ли адрес получателя адресом контракта. Если это так, то вызывается метод onTokenTransfer этого адреса. Важно отметить, что перед запросом услуг Машины Oracle пользователю следует сначала подтвердить надежность этой Машины Oracle, так как услуги Машины Oracle требуют предварительной оплаты.

! Chainlink Часть 1 из серии Oracle Explainer]###https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(

) Процесс запроса oracle на блокчейне

Когда потребители Машины Oracle используют метод transferAndCall для оплаты и запроса услуг, метод onTokenTransfer в контракте Машины Oracle сначала выполняет ряд проверок безопасности. Это включает в себя проверку, является ли перевод токеном LINK, проверку, не превышает ли длина данных ограничения, проверку, содержит ли данные правильный селектор функции и т.д.

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

! Chainlink (Часть 1) из серии Oracle Explainer]###https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(

) Механизм отклика узлов вне сети

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

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

! Chainlink Часть 1 из серии Oracle Explainer]###https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(

) Цена Машина Oracle реальное применение

Для разработчиков, если нужно использовать только существующие данные о ценах валютных пар, можно напрямую использовать интерфейс Price Feed, предоставленный Chainlink. Для каждой торговой пары есть отдельный Price Feed ###, также известный как Aggregator (, который на самом деле является контрактом AggregatorProxy.

Эти интерфейсы обычно предлагают следующие методы запроса:

  • decimals)(: Возвращает количество знаков после запятой для данных о ценах
  • описание)(: вернуть название торговой пары
  • version)(:Идентификатор типа Aggregator, на который указывает Proxy
  • getRoundData)_roundId(:Получить данные о цене для конкретного раунда
  • latestRoundData)(:Получить последние данные о ценах

В большинстве случаев контракты могут просто потребовать чтение последней цены, то есть вызвать метод latestRoundData)(. Возвращаемый параметр answer будет последней ценой.

Стоит отметить, что цены токенов, считываемые большинством приложений, выражены в USD. В этом случае точность обычно унифицирована на уровне 8 знаков, что упрощает проблему обработки точности между различными токенами.

! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-1994fff156354700fda0609f9e317726.webp(

LINK-0.66%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 7
  • Поделиться
комментарий
0/400
nft_widowvip
· 6ч назад
Машина Oracle удивительный Это не значит, что можно идти боком!
Посмотреть ОригиналОтветить0
CountdownToBrokevip
· 6ч назад
просто прохожий на цепи
Посмотреть ОригиналОтветить0
BlockchainBouncervip
· 6ч назад
Га-га, снова пришел объяснять механизм Машина Oracle!
Посмотреть ОригиналОтветить0
StakeTillRetirevip
· 6ч назад
Машина Oracle эта штука действительно хороша, мои смарт-контракты не могут обойтись без неё.
Посмотреть ОригиналОтветить0
FUD_Whisperervip
· 6ч назад
Даже на еду в контракте не хватает.
Посмотреть ОригиналОтветить0
HalfPositionRunnervip
· 6ч назад
Эти данные о炸油 полагаются на Машину Oracle.
Посмотреть ОригиналОтветить0
ImpermanentPhilosophervip
· 6ч назад
Ца-ца, снова Машина Oracle, как обычно.
Посмотреть ОригиналОтветить0
  • Закрепить