Розподілена система цінових оракулів: багаторівнева агрегація та оптимізація реєстру даних

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

Розподілена система цінових Оракул-машина

Щоб уникнути одноточкових відмов, деякі оракул-машини використовують розподілений дизайн. Наприклад, для надання послуг з ціни BTC у доларах США, одна відома платформа оракул-машини об'єднала 31 джерело цін, щоб надати послуги користувачам.

Цей код контракту агрегатора можна переглянути на блокчейні Ethereum. Викликавши метод transmitters у контракті, можна побачити всі офлайн оракул-машини, які містяться в цьому агрегаторі.

Кожен оракул-машина поза ланцюгом може надавати дані про ціни, викликавши метод transmit у відповідь на запит користувача в агрегаторі. Ці оракул-машини поза ланцюгом є зовнішніми власниками рахунку (EOA), які не лише надають дані про ціни для агрегатора BTC/USD, але й можуть надавати дані про ціни для інших агрегаторів (, таких як ETH/USD).

Процес обробки смарт-контрактів в основному виглядає так:

  1. Спочатку зчитати поточний стан контракту та провести ряд перевірок.

  2. Після проходження перевірки, провести деякі підготовчі роботи.

  3. Далі використовуйте ecrecover() для перевірки кожного підписаного даних, перевіряючи, чи хеш-значення відповідає хешу, зробленому для _report. Одночасно перевірте, чи є роль підписанта Signer, а також перевірте на повторюваність підпису.

  4. Нарешті, перевірте, чи спостереження впорядковані за порядком. Виберіть медіану з відсортованих спостережень та переконайтеся, що медіана не перевищує верхній і нижній пороги. Якщо все в порядку, запишіть відповідь цього оракул-машини в s_transmissions. Крім того, необхідно перевірити відповідь.

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

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

Реєстр даних

Щоб підвищити гнучкість і знизити витрати на управління, деякі платформи запустили Реєстр Фідів. Його можна вважати агрегатором PriceFeeds, який вже об'єднав кілька priceFeed. Завдяки йому, користувачам не потрібно самостійно налаштовувати priceFeed, можна безпосередньо зчитувати дані про ціни через Реєстр Фідів.

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

Механізм пропозицій

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

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

Другий рівень - це агрегування операторів вузлів. Кожен оператор вузла відповідає за роботу основного програмного забезпечення, отримуючи цінові дані від кількох незалежних постачальників послуг агрегування даних, обчислюючи медіану, виключаючи аномальні значення та час простою API.

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

Оновлення цін зазвичай вимагає задоволення одного з двох тригерних параметрів: порогу відхилення або порогу серцебиття. Ці два параметри можуть мати різні значення для різних джерел цін.

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

! Chainlink, частина 2 серії Oracle Explainer](https://img-cdn.gateio.im/social/moments-cec5b2c5581a3e9abce8f2d60b198374656574839201

LINK1.49%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 8
  • Поділіться
Прокоментувати
0/400
CryptoFortuneTellervip
· 1год тому
31 джерел достатньо? Я трохи нервуюсь.
Переглянути оригіналвідповісти на0
CountdownToBrokevip
· 2год тому
Ця річ дійсно може уникнути кліпових купонів?
Переглянути оригіналвідповісти на0
WealthCoffeevip
· 08-02 23:24
Розподілене цікаво, нарешті не потрібно дивитися на обличчя людей.
Переглянути оригіналвідповісти на0
HashBrowniesvip
· 08-02 07:13
31 джерел даних, все одно здається, що це недостатньо багато~
Переглянути оригіналвідповісти на0
RektDetectivevip
· 08-02 07:08
Весь день дивлюсь, як установи знімають штани, врешті-решт, скільки можна на це дивитись?
Переглянути оригіналвідповісти на0
GasFeeCriervip
· 08-02 07:00
Гарний хлопець, від якого голова крутиться, газ малий принц
Переглянути оригіналвідповісти на0
NFTArchaeologisvip
· 08-02 06:57
У блокчейні код читається так елегантно, як печатка.
Переглянути оригіналвідповісти на0
MEV_Whisperervip
· 08-02 06:56
Об'єднання стільки всього, яка в цьому користь, все ще неточно.
Переглянути оригіналвідповісти на0
  • Закріпити