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

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

Важность системы Машина Oracle в Блокчейн и механизмы реализации Chainlink

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

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

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

Chainlink является на сегодняшний день самым крупным проектом по рынку Машин Oracle в области Блокчейн. Это децентрализованная система Машин Oracle, предназначенная для предоставления данных из реального мира в Блокчейн самым безопасным образом. Chainlink построен на основных принципах Машин Oracle и создал здоровую экосистему, управляемую экономическими стимулами через токен LINK. Машины Oracle Chainlink необходимо активировать через переводы токенов LINK, который является контрактом ERC677 в сети Ethereum. Функции Машин Oracle, реализованные на основе токена LINK ERC677, относятся к модели запрос/ответ.

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

Стандарт токена ERC677 был предложен Chainlink для удовлетворения потребностей в сценах обслуживания с использованием машин Oracle. Он добавляет метод transferAndCall к стандарту ERC20, объединяя платежи и запросы на услуги в одно целое. Когда пользователь выполняет перевод через transferAndCall, помимо функции перевода ERC20, также проверяется, является ли адрес получения адресом контракта. Если да, то вызывается метод onTokenTransfer этого адреса.

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

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

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

Метод oracleRequest генерирует уникальный requestId, устанавливает время истечения и добавляет соответствующую информацию в отображение commitments. Самое важное, что он вызывает событие OracleRequest, которое содержит запрашиваемые данные, представленные в формате CBOR), закодированном в формате (.

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

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

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

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

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

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

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

Посмотреть Оригинал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Награда
  • 8
  • Поделиться
комментарий
0/400
staking_grampsvip
· 1ч назад
Зарядить Link?
Посмотреть ОригиналОтветить0
DegenWhisperervip
· 13ч назад
Chainke действительно хорош, только немного дороговато.
Посмотреть ОригиналОтветить0
MidnightSnapHuntervip
· 13ч назад
Chainlink довольно надежный.
Посмотреть ОригиналОтветить0
HalfPositionRunnervip
· 13ч назад
Чувствую, что link еще вырастет
Посмотреть ОригиналОтветить0
GweiTooHighvip
· 14ч назад
link снова вырос, да? Не нужно гадать.
Посмотреть ОригиналОтветить0
SelfRuggervip
· 14ч назад
link бык叉 Купи и всё.
Посмотреть ОригиналОтветить0
GweiWatchervip
· 14ч назад
На самом деле, эта цена действительно хороша.
Посмотреть ОригиналОтветить0
PermabullPetevip
· 14ч назад
link стабилен как никогда
Посмотреть ОригиналОтветить0
  • Закрепить