Визначення

Oracle — це сервіс-посередник, який передає дані ззовні блокчейна (off-chain) у смарт-контракти всередині мережі (on-chain). Solana, як і будь-який блокчейн, не має власного доступу до зовнішнього світу: вона не знає курс долара, температуру в Києві чи результат матчу. Oracle заповнює цю прогалину, перетворюючи реальні дані на формат, який смарт-контракти можуть прочитати та використати для автоматичних рішень.

Як працює

Процес передавання даних через oracle складається з кількох етапів:

  1. Збір даних. Oracle-вузол звертається до зовнішніх джерел — API бірж, погодних станцій, датчиків IoT тощо.
  2. Валідація та агрегація. Якщо oracle децентралізований, кілька незалежних вузлів передають свої значення. Мережа усереднює їх, відкидаючи аномалії (механізм median або інший консенсус).
  3. Публікація on-chain. Отримане значення записується в обліковий запис Solana (account), де його може прочитати будь-яка програма через стандартний виклик.
  4. Використання програмою. Смарт-контракт читає оновлене значення та виконує логіку: розраховує колатерал, виплачує винагороду, спрацьовує умова договору.

У екосистемі Solana oracle-програми зазвичай реалізовані як окремі on-chain акаунти з визначеною структурою даних. Оновлення відбувається транзакцією, яку підписує авторизований oracle-вузол. Програми, які залежать від oracle, звертаються до цих акаунтів через CPI (Cross-Program Invocation) або безпосередньо читають дані з акаунта.

Приклад

DePIN-проєкт на Solana збирає дані про якість повітря з розподілених сенсорів. Кожен сенсор фіксує показники та надсилає їх на oracle-вузол. Oracle агрегує дані з кількох сенсорів у певному районі, усереднює їх і записує фінальне значення в on-chain акаунт. Смарт-контракт проєкту автоматично перевіряє це значення: якщо якість повітря відповідає встановленому нормативу, оператор сенсора отримує винагороду у токенах проєкту. Без oracle контракт не мав би об'єктивного способу дізнатися реальні показники.

Типова помилка

Найпоширеніша помилка — плутати oracle із самим джерелом даних. Oracle не вимірює температуру і не визначає курс криптовалюти: він лише доставляє вже зібрані дані на блокчейн. Якщо джерело ненадійне, oracle передасть ненадійні дані — навіть найбезпечніша архітектура oracle не виправить помилку на етапі збору. Тому при виборі oracle-рішення варто окремо перевіряти, які саме джерела використовуються і як часто вони оновлюються.

Пов'язані матеріали

Внутрішні переходи

Додаткові ресурси

  • Офіційна документація Solana щодо архітектури програм та взаємодії між ними (CPI) — для розуміння технічної сторони читання oracle-даних
  • Документація провідних oracle-провайдерів екосистеми Solana — для порівняння механізмів агрегації та моделей безпеки