Щоб уникнути одноточкових збоїв, один відомий Оракул-машина проект використовує розподілену архітектуру для надання послуг користувачам. Наприклад, для надання ціни BTC у доларах США, ця служба агрегує 31 незалежний ціновий Оракул-машина.
Конкретну реалізацію цього агрегатора можна переглянути, вивчаючи вихідний код його смарт-контракту. Викликавши певні методи в контракті, можна отримати всю інформацію про офлайн-оракли, які містяться в цьому агрегаторі.
Кожен зовнішній Оракул-машина може надавати дані про ціни, викликавши певний метод у відповідь на запити користувачів у агрегаторі. Ці Оракул-машини зазвичай являють собою зовнішні облікові записи (EOA), які можуть не лише надавати дані для агрегатора BTC/USD, але також одночасно обслуговувати інші валютні пари (, такі як ETH/USD ).
Обробка смарт-контрактів на блокчейні відбувається приблизно так:
Спочатку зчитати поточний стан контракту та провести ряд перевірок на відповідність.
Після перевірки здійснити необхідні підготовчі роботи.
Потім перевірте дані підпису для кожного, щоб переконатися, що підписувач має відповідні права та що підпис не було використано повторно.
Нарешті, перевірте порядок спостережуваних значень, виберіть медіану як результат і переконайтеся, що вона не перевищує заданий поріг. Після підтвердження всіх перевірок запишіть результат у сховище контракту.
Крім того, результати підлягають подальшій перевірці. Наприклад, деякі додатки можуть порівнювати результати з іншими джерелами (, такими як ціни на децентралізованих біржах ), щоб забезпечити, що відхилення знаходиться в прийнятних межах.
! Chainlink (частина 2) із серії Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-855e7db6fb0607a91a3fa63b51fcc2c9.webp)
Переваги реєстру даних
Щоб ще більше спростити процес використання, деякі проекти оракулів надають функцію реєстру даних (Feed Registry). Це можна вважати агрегатором кількох цінових потоків, користувачам не потрібно налаштовувати джерела цін для кожного токена окремо, а можна безпосередньо читати необхідні дані про ціни через реєстр даних.
Багаторівнева механізм агрегації даних
Високоякісні цінові Оракул-машини зазвичай використовують багатошарову механіку агрегації даних, яка в основному включає три рівні: агрегація джерел даних, агрегація операторів вузлів та агрегація мережі оракулів.
Агегування джерел даних: збір первинних цінових даних з різних централізованих та децентралізованих торгових платформ, які попередньо обробляються професійними постачальниками даних.
Агрегація операторів вузлів: кожен незалежний оператор вузла отримує ціни від декількох постачальників даних і обчислює медіану, щоб виключити аномальні значення.
Оракул-машина мережеве агрегування: агрегування на рівні всієї мережі, зазвичай використовується метод взяття медіани після досягнення заданої кількості вузлів.
Варто зазначити, що не кожне оновлення даних буде негайно синхронізовано з ланцюгом. Зазвичай встановлюються два тригери: поріг відхилення та поріг серцевого ритму, і дані на ланцюзі оновлюються лише в разі виконання одного з них. Такий механізм, забезпечуючи надійність даних, може призводити до відносно повільного оновлення цін, тому він в основному підходить для сценаріїв застосування, де вимоги до актуальності цін не є високими.
! Chainlink, частина 2 серії Oracle Explainer](https://img-cdn.gateio.im/social/moments-cec5b2c5581a3e9abce8f2d60b198374656574839201
! Chainlink Частина 2 серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-d9aeeaf87bcbb44e785c6ac67b5d0877.webp(
! Chainlink (частина 2) серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-9675c9b843c9317c5677f589662c7b07.webp(
![Оракул-машина детальний аналіз серії Chainlink (нижня частина)])https://img-cdn.gateio.im/webp-social/moments-02058d8c7492f3e74ee71058d58c4cbc.webp(
! Chainlink (частина 2) із серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-14fdeba36634c8a73d0acd0f393bc87f.webp(
! Chainlink (частина 2) із серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-acbff1db208352e4522af1ff702c5e15.webp(
! Chainlink (частина 2) із серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-c99d819793957e4d0547f61f8e83d313.webp(
! Chainlink (частина 2) із серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-178f40af06154c6be86596b8a6a0abf9.webp(
! Chainlink (частина 2) серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-aa77863857089c8363183556997ea49b.webp(
! Chainlink (частина 2) серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-8d644b1625be70dfd9a4f3bf25cac41e.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.
15 лайків
Нагородити
15
6
Поділіться
Прокоментувати
0/400
MetaDreamer
· 2год тому
Оракул-машина ця річ надійна?
Переглянути оригіналвідповісти на0
ResearchChadButBroke
· 15год тому
Оракул-машина справді смачна, давай робити!
Переглянути оригіналвідповісти на0
BearMarketLightning
· 15год тому
Це чомусь навіть краще віддати Криптоветеранам для управління!
Як розподілений Оракул-машина забезпечує надійність цінових даних
Принцип роботи розподіленої цінової Оракул-машини
Щоб уникнути одноточкових збоїв, один відомий Оракул-машина проект використовує розподілену архітектуру для надання послуг користувачам. Наприклад, для надання ціни BTC у доларах США, ця служба агрегує 31 незалежний ціновий Оракул-машина.
Конкретну реалізацію цього агрегатора можна переглянути, вивчаючи вихідний код його смарт-контракту. Викликавши певні методи в контракті, можна отримати всю інформацію про офлайн-оракли, які містяться в цьому агрегаторі.
Кожен зовнішній Оракул-машина може надавати дані про ціни, викликавши певний метод у відповідь на запити користувачів у агрегаторі. Ці Оракул-машини зазвичай являють собою зовнішні облікові записи (EOA), які можуть не лише надавати дані для агрегатора BTC/USD, але також одночасно обслуговувати інші валютні пари (, такі як ETH/USD ).
Обробка смарт-контрактів на блокчейні відбувається приблизно так:
Спочатку зчитати поточний стан контракту та провести ряд перевірок на відповідність.
Після перевірки здійснити необхідні підготовчі роботи.
Потім перевірте дані підпису для кожного, щоб переконатися, що підписувач має відповідні права та що підпис не було використано повторно.
Нарешті, перевірте порядок спостережуваних значень, виберіть медіану як результат і переконайтеся, що вона не перевищує заданий поріг. Після підтвердження всіх перевірок запишіть результат у сховище контракту.
Крім того, результати підлягають подальшій перевірці. Наприклад, деякі додатки можуть порівнювати результати з іншими джерелами (, такими як ціни на децентралізованих біржах ), щоб забезпечити, що відхилення знаходиться в прийнятних межах.
! Chainlink (частина 2) із серії Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-855e7db6fb0607a91a3fa63b51fcc2c9.webp)
Переваги реєстру даних
Щоб ще більше спростити процес використання, деякі проекти оракулів надають функцію реєстру даних (Feed Registry). Це можна вважати агрегатором кількох цінових потоків, користувачам не потрібно налаштовувати джерела цін для кожного токена окремо, а можна безпосередньо читати необхідні дані про ціни через реєстр даних.
Багаторівнева механізм агрегації даних
Високоякісні цінові Оракул-машини зазвичай використовують багатошарову механіку агрегації даних, яка в основному включає три рівні: агрегація джерел даних, агрегація операторів вузлів та агрегація мережі оракулів.
Агегування джерел даних: збір первинних цінових даних з різних централізованих та децентралізованих торгових платформ, які попередньо обробляються професійними постачальниками даних.
Агрегація операторів вузлів: кожен незалежний оператор вузла отримує ціни від декількох постачальників даних і обчислює медіану, щоб виключити аномальні значення.
Оракул-машина мережеве агрегування: агрегування на рівні всієї мережі, зазвичай використовується метод взяття медіани після досягнення заданої кількості вузлів.
Варто зазначити, що не кожне оновлення даних буде негайно синхронізовано з ланцюгом. Зазвичай встановлюються два тригери: поріг відхилення та поріг серцевого ритму, і дані на ланцюзі оновлюються лише в разі виконання одного з них. Такий механізм, забезпечуючи надійність даних, може призводити до відносно повільного оновлення цін, тому він в основному підходить для сценаріїв застосування, де вимоги до актуальності цін не є високими.
! Chainlink, частина 2 серії Oracle Explainer](https://img-cdn.gateio.im/social/moments-cec5b2c5581a3e9abce8f2d60b198374656574839201
! Chainlink Частина 2 серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-d9aeeaf87bcbb44e785c6ac67b5d0877.webp(
! Chainlink (частина 2) серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-9675c9b843c9317c5677f589662c7b07.webp(
![Оракул-машина детальний аналіз серії Chainlink (нижня частина)])https://img-cdn.gateio.im/webp-social/moments-02058d8c7492f3e74ee71058d58c4cbc.webp(
! Chainlink (частина 2) із серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-14fdeba36634c8a73d0acd0f393bc87f.webp(
! Chainlink (частина 2) із серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-acbff1db208352e4522af1ff702c5e15.webp(
! Chainlink (частина 2) із серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-c99d819793957e4d0547f61f8e83d313.webp(
! Chainlink (частина 2) із серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-178f40af06154c6be86596b8a6a0abf9.webp(
! Chainlink (частина 2) серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-aa77863857089c8363183556997ea49b.webp(
! Chainlink (частина 2) серії Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-8d644b1625be70dfd9a4f3bf25cac41e.webp(