Оракул-машина як міст даних між Блокчейн та реальним світом

robot
Генерація анотацій у процесі

Оракул-машина: міст між Блокчейн та реальним світом

У технології Блокчейн, Оракул-машина відіграє надзвичайно важливу роль інфраструктури. Це система, яка може надавати зовнішню інформацію для смарт-контрактів на ланцюгу, виконуючи функцію посередника між Блокчейном та зовнішнім світом. Основна функція Оракул-машини полягає в наданні необхідних зовнішніх даних для смарт-контрактів на Блокчейні.

Приклад: уявімо, що ми створюємо смарт-контракт у мережі Ethereum, який потребує отримання даних про обсяги торгівлі нафтою за певний день. Оскільки смарт-контракт сам по собі не може безпосередньо отримати такі дані з реального світу, що знаходяться поза блокчейном, то для цього необхідно використовувати оракул-машину. У цьому випадку смарт-контракт запише необхідні дані про обсяги торгівлі нафтою в журнал подій. Після цього поза блокчейном запуститься процес, який буде контролювати та підписувати цей журнал подій. Коли буде виявлено запит у торгах, цей процес через подання транзакції в блокчейн викликає відповідні методи контракту та завантажує інформацію про обсяги торгівлі нафтою за вказану дату до смарт-контракту.

Оракул-машина детальний серія Chainlink (частина 1)

Chainlink:Лідер оракулів Блокчейн

У сфері оракулів Chainlink, безсумнівно, є проектом з найбільшою часткою на ринку. Як децентралізоване рішення для оракулів, метою Chainlink є надання даних, що виникають у реальному світі, на Блокчейн у найнадійніший спосіб. На основі основних принципів оракулів Chainlink побудував екосистему навколо токена LINK, що формує позитивний цикл через економічні стимули.

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

Для активації оракула Chainlink необхідно здійснити переказ токенів LINK. LINK є токеном контракту ERC677 на базі мережі Ethereum. Функції оракула, реалізовані на базі токена LINK ERC677, належать до моделі запит/відповідь.

) transferAndCall у токенах ERC677

Стандарт ERC677 був запропонований Chainlink для адаптації до сценаріїв обслуговування оракулів. Він додає метод transferAndCall на основі стандартного ERC20, об’єднуючи оплату та запит на послугу, що відповідає потребам бізнес-сценаріїв оракулів.

Коли користувач використовує transferAndCall для переказу, окрім звичайного переказу ERC20, також перевіряється, чи є адреса отримувача адресою контракту. Якщо так, то викликається метод onTokenTransfer цього адреси. Слід зазначити, що перед запитом послуг оракул-машини користувач повинен спочатку підтвердити надійність цього оракула, оскільки послуги оракула потребують попередньої оплати.

![Оракул-машина детальний аналіз серії Chainlink (частина 1)]###https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(

) Процес запиту оракул-машини в Блокчейн

Коли споживачі оракул-машини використовують метод transferAndCall для сплати збору та запиту послуг, метод onTokenTransfer в контракті оракул-машини спочатку проходить низку перевірок безпеки. Це включає в себе перевірку, чи є переказ токеном LINK, перевірку, чи не перевищує довжина даних обмеження, перевірку, чи містять дані правильний селектор функції тощо.

Після проходження безпеки перевірки, контракт генерує унікальний requestId та встановлює термін дії запиту. Нарешті, контракт викликає подію OracleRequest, яка містить деталі запиту.

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

) Механізм реагування поза ланцюгом вузлів

Після отримання події OracleRequest, вузол поза ланцюгом аналізує конкретну інформацію запиту та отримує необхідні дані через API мережі. Потім вузол викликає метод fulfillOracleRequest, щоб передати дані на ланцюг.

Цей метод виконає низку перевірок, включаючи перевірку, чи авторизований виклик, перевірку дійсності запиту тощо. Після успішної перевірки контракт запише кількість токенів, які можна вилучити, і видалить requestId з мапи commitments. Нарешті, контракт викличе функцію зворотного виклику контракту запитувача, щоб передати дані споживачу.

![Оракул-машина детальний аналіз серії Chainlink (частина 1)]###https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(

) Ціна Оракул-машини в реальному застосуванні

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

Ці інтерфейси зазвичай надають кілька методів запиту:

  • decimals)(:повертає кількість знаків точності для цінових даних
  • description)(:Повернути назву торгової пари
  • version)(:Ідентифікатор типу Aggregator, на який вказує Proxy
  • getRoundData)_roundId(:отримати дані про ціну конкретного раунду
  • latestRoundData)(:Отримати останні дані про ціни

У більшості випадків застосування, контракт може просто потребувати отримання останньої ціни, тобто виклику методу latestRoundData)(. Повернутий параметр answer є останньою ціною.

Варто зазначити, що більшість додатків читають ціни токенів в одиницях USD. У цьому випадку точність зазвичай уніфікується до 8 знаків, що спрощує питання обробки точності між різними токенами.

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

LINK2.91%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 7
  • Поділіться
Прокоментувати
0/400
nft_widowvip
· 14год тому
Оракул-машина дивовижний Це ж можна йти боком!
Переглянути оригіналвідповісти на0
CountdownToBrokevip
· 14год тому
лише мандрівник на ланцюгу
Переглянути оригіналвідповісти на0
BlockchainBouncervip
· 14год тому
Га-га, знову пояснюють механізм Оракул-машини!
Переглянути оригіналвідповісти на0
StakeTillRetirevip
· 14год тому
Оракул-машина ця штука справді класна, мій смартконтракт не може обійтись без неї.
Переглянути оригіналвідповісти на0
FUD_Whisperervip
· 15год тому
Навіть їсти контрактну їжу вже не по кишені.
Переглянути оригіналвідповісти на0
HalfPositionRunnervip
· 15год тому
Ці дані про фритюрницю покладаються на Оракул-машину, щоб їх врятувати.
Переглянути оригіналвідповісти на0
ImpermanentPhilosophervip
· 15год тому
Це знову Оракул-машина, стара пісня.
Переглянути оригіналвідповісти на0
  • Закріпити