У найпростішому варіанті оракл контролюється одним суб'єктом, який здійснює збір даних і подання їх у блокчейн. Така модель називається централізованим ораклом. Наприклад, протокол може отримувати цінові дані безпосередньо із певного сервера, який регулярно надсилає оновлення в блокчейн.
Головна перевага цієї структури — ефективність і контроль витрат. Оскільки джерело даних і логіка оновлення зосереджені в одній системі, розробка та підтримка менш складні, а частота оновлення даних може бути вищою. Тому централізовані оракли досі широко застосовуються у деяких ранніх DeFi-проєктах або сценаріях із низьким рівнем ризику.
Однак така конструкція створює очевидні ризики. Якщо оператор оракла стикається з проблемами або джерело даних піддається атаці, це може вплинути на всю систему. Централізовані оракли зазвичай мають такі типи ризиків:
Тому в DeFi-протоколах із великими обсягами коштів повна залежність від одного джерела даних часто розглядається як високоризикована модель.
Щоб знизити ризики централізації, все більше проєктів впроваджують децентралізовані оракли. У цій архітектурі дані більше не надаються одним вузлом, а збираються і публікуються кількома незалежними вузлами.
Зазвичай ці вузли управляються різними сторонами, кожна з яких отримує інформацію зі своїх джерел даних і надсилає результати в систему оракла. Таким чином система зменшує залежність від одного джерела даних чи оператора, підвищуючи загальну безпеку.
На практиці децентралізована мережа ораклів зазвичай включає такі ролі:
Вузли співпрацюють відповідно до правил протоколу. Наприклад, система може вимагати мінімальної кількості вузлів для подання даних перед оновленням цін у блокчейні. Такі конструкції допомагають зменшити вплив зловмисної поведінки окремих вузлів на систему.
Однак слід враховувати, що децентралізовані мережі також породжують нові виклики: витрати на координацію вузлів, затримки даних і зростання складності мережі. Баланс між децентралізацією та ефективністю є дуже важливим питанням при розробці ораклів.
У децентралізованих мережах ораклів ключове питання: коли різні вузли подають несумісні дані, як система має визначити фінальний результат?
Для вирішення цієї проблеми більшість систем ораклів впроваджують механізми агрегування даних. Подання від кількох вузлів обробляються статистично для отримання більш надійного фінального значення. Найпоширеніші методи — обчислення середнього або медіани.
У реальних системах процес агрегування даних зазвичай базується на кількох основних принципах:
Модель мультивузлової валідації значно знижує ймовірність маніпуляції даними. Наприклад, якщо вузол подає аномальну ціну, його дані часто будуть відфільтровані або їхній вплив зменшиться під час агрегування.
Водночас деякі просунуті оракли також використовують механізми стейкінгу та економічних стимулів. Вузли мають заблокувати певну кількість токенів як забезпечення; якщо виявлено подання некоректних даних, вони можуть бути оштрафовані. Такий механізм використовує економічні стимули для обмеження поведінки вузлів і додаткового підвищення довіри до системи.