Анализ технологии Машина Oracle: на примере Chainlink
В технологии блокчейн Машина Oracle является ключевой инфраструктурой для предоставления внешних данных смарт-контрактам. Она служит мостом между внутренним и внешним мирами блокчейна, позволяя смарт-контрактам получать информацию вне цепи.
Например, если мы развернем смарт-контракт на Ethereum, который требует получения объема торгов нефтью на определенную дату, смарт-контракт не может напрямую получить доступ к данным вне цепи, поэтому необходимо использовать Машина Oracle для реализации этой функции. В этом случае смарт-контракт запишет необходимую информацию в журнал событий, а затем процесс вне цепи будет отслеживать этот журнал. Когда запрос будет обнаружен, процесс передаст соответствующие данные смарт-контракту через цепочечную транзакцию.
! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
Chainlink является самым высоко рыночным проектом Машина Oracle на данный момент. Он безопасно предоставляет данные из реального мира в блокчейн через децентрализованный подход. Chainlink построил экономически мотивированную экосистему вокруг токена LINK. Его функции Машина Oracle в основном запускаются через переводы токена LINK, что относится к реализации модели запрос/ответ.
Токен LINK использует стандарт ERC677, который добавляет метод transferAndCall на основе ERC20. Этот дизайн удовлетворяет требованиям сценариев услуг Машина Oracle, объединяя платежи и запросы на услуги. Когда пользователь вызывает transferAndCall для перевода, помимо стандартного перевода ERC20, также проверяется, является ли адрес получателя адресом контракта. Если да, то вызывается метод onTokenTransfer этого адреса.
! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
Перед запросом услуг Машины Oracle пользователю необходимо подтвердить надежность этой Машины Oracle. Надежность Машины Oracle обычно можно оценить на основе ее исторических показателей, системы репутации и механизма залога.
Когда Машина Oracle получает запрос на обслуживание, она проводит ряд проверок безопасности, включая валидацию типа токена, проверку длины данных и селектор функции и т.д. После проверки Машина Oracle генерирует уникальный requestId, устанавливает время истечения и вызывает событие OracleRequest. Это событие содержит подробную информацию о запросе, такую как формат данных, адрес обратного вызова и ID метода и т.д.
После того как узел вне цепи обнаруживает событие OracleRequest, он анализирует информацию запроса, получает необходимые данные через API, а затем вызывает метод fulfillOracleRequest для передачи данных в цепь. В этом процессе осуществляется многократная проверка, чтобы обеспечить точность и актуальность данных. В конце концов, Машина Oracle возвращает результат запрашивающему контракту через функцию обратного вызова.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
Для разработчиков Chainlink также предоставляет более удобный способ получения ценовых данных для популярных валютных пар. У каждой торговой пары есть независимый Price Feed (также известный как Aggregator), и разработчики могут напрямую вызывать интерфейсы этих Feed для получения актуальной информации о ценах, не указывая самостоятельно URL источника данных.
Цена Feed обычно предоставляет несколько основных методов:
decimals)(:возвращает точность данных о ценах
описание)(:возвращает название торговой пары
version)(:указание типа Aggregator
getRoundData)_roundId(:Получить данные о ценах для конкретного раунда
latestRoundData)(:Получить последние данные о ценах
В большинстве случаев для получения актуальной цены контракту достаточно вызвать метод latestRoundData)(. Для торговых пар, котируемых в долларах, точность цены обычно устанавливается на уровне 8 знаков после запятой, что упрощает обработку точности между различными токенами.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
Таким образом, Chainlink предоставляет надежный и актуальный доступ к внешним данным для блокчейн-приложений, что значительно расширяет область применения и потенциал смарт-контрактов.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
22 Лайков
Награда
22
9
Поделиться
комментарий
0/400
rugpull_survivor
· 07-28 13:40
Смотрится свежо, но всё равно нужно сделать link
Посмотреть ОригиналОтветить0
ImpermanentPhobia
· 07-27 09:59
Машина Oracle игрока ноль мясного соуса
Посмотреть ОригиналОтветить0
AirdropCollector
· 07-26 03:39
link действительно yyds
Посмотреть ОригиналОтветить0
StableGenius
· 07-25 15:51
на самом деле довольно централизовано, если посмотреть на операторов узлов... смх
Посмотреть ОригиналОтветить0
MissingSats
· 07-25 15:51
Машина Oracle я верю только LINK, другие не трогайте
Посмотреть ОригиналОтветить0
SerumDegen
· 07-25 15:50
потерял половину своего портфеля на $link, но все еще бычий af... оракулы или смерть, честно говоря
Chainlink Машина Oracle: мост между Блокчейн и реальным миром
Анализ технологии Машина Oracle: на примере Chainlink
В технологии блокчейн Машина Oracle является ключевой инфраструктурой для предоставления внешних данных смарт-контрактам. Она служит мостом между внутренним и внешним мирами блокчейна, позволяя смарт-контрактам получать информацию вне цепи.
Например, если мы развернем смарт-контракт на Ethereum, который требует получения объема торгов нефтью на определенную дату, смарт-контракт не может напрямую получить доступ к данным вне цепи, поэтому необходимо использовать Машина Oracle для реализации этой функции. В этом случае смарт-контракт запишет необходимую информацию в журнал событий, а затем процесс вне цепи будет отслеживать этот журнал. Когда запрос будет обнаружен, процесс передаст соответствующие данные смарт-контракту через цепочечную транзакцию.
! Chainlink (Часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
Chainlink является самым высоко рыночным проектом Машина Oracle на данный момент. Он безопасно предоставляет данные из реального мира в блокчейн через децентрализованный подход. Chainlink построил экономически мотивированную экосистему вокруг токена LINK. Его функции Машина Oracle в основном запускаются через переводы токена LINK, что относится к реализации модели запрос/ответ.
Токен LINK использует стандарт ERC677, который добавляет метод transferAndCall на основе ERC20. Этот дизайн удовлетворяет требованиям сценариев услуг Машина Oracle, объединяя платежи и запросы на услуги. Когда пользователь вызывает transferAndCall для перевода, помимо стандартного перевода ERC20, также проверяется, является ли адрес получателя адресом контракта. Если да, то вызывается метод onTokenTransfer этого адреса.
! Chainlink (часть 1) из серии Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
Перед запросом услуг Машины Oracle пользователю необходимо подтвердить надежность этой Машины Oracle. Надежность Машины Oracle обычно можно оценить на основе ее исторических показателей, системы репутации и механизма залога.
Когда Машина Oracle получает запрос на обслуживание, она проводит ряд проверок безопасности, включая валидацию типа токена, проверку длины данных и селектор функции и т.д. После проверки Машина Oracle генерирует уникальный requestId, устанавливает время истечения и вызывает событие OracleRequest. Это событие содержит подробную информацию о запросе, такую как формат данных, адрес обратного вызова и ID метода и т.д.
После того как узел вне цепи обнаруживает событие OracleRequest, он анализирует информацию запроса, получает необходимые данные через API, а затем вызывает метод fulfillOracleRequest для передачи данных в цепь. В этом процессе осуществляется многократная проверка, чтобы обеспечить точность и актуальность данных. В конце концов, Машина Oracle возвращает результат запрашивающему контракту через функцию обратного вызова.
! Chainlink Часть 1 из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
Для разработчиков Chainlink также предоставляет более удобный способ получения ценовых данных для популярных валютных пар. У каждой торговой пары есть независимый Price Feed (также известный как Aggregator), и разработчики могут напрямую вызывать интерфейсы этих Feed для получения актуальной информации о ценах, не указывая самостоятельно URL источника данных.
Цена Feed обычно предоставляет несколько основных методов:
В большинстве случаев для получения актуальной цены контракту достаточно вызвать метод latestRoundData)(. Для торговых пар, котируемых в долларах, точность цены обычно устанавливается на уровне 8 знаков после запятой, что упрощает обработку точности между различными токенами.
! Chainlink (Часть 1) из серии Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
Таким образом, Chainlink предоставляет надежный и актуальный доступ к внешним данным для блокчейн-приложений, что значительно расширяет область применения и потенциал смарт-контрактов.