Визначення
Oracle — це сервіс-посередник, який передає дані ззовні блокчейна (off-chain) у смарт-контракти всередині мережі (on-chain). Solana, як і будь-який блокчейн, не має власного доступу до зовнішнього світу: вона не знає курс долара, температуру в Києві чи результат матчу. Oracle заповнює цю прогалину, перетворюючи реальні дані на формат, який смарт-контракти можуть прочитати та використати для автоматичних рішень.
Як працює
Процес передавання даних через oracle складається з кількох етапів:
- Збір даних. Oracle-вузол звертається до зовнішніх джерел — API бірж, погодних станцій, датчиків IoT тощо.
- Валідація та агрегація. Якщо oracle децентралізований, кілька незалежних вузлів передають свої значення. Мережа усереднює їх, відкидаючи аномалії (механізм median або інший консенсус).
- Публікація on-chain. Отримане значення записується в обліковий запис Solana (account), де його може прочитати будь-яка програма через стандартний виклик.
- Використання програмою. Смарт-контракт читає оновлене значення та виконує логіку: розраховує колатерал, виплачує винагороду, спрацьовує умова договору.
У екосистемі Solana oracle-програми зазвичай реалізовані як окремі on-chain акаунти з визначеною структурою даних. Оновлення відбувається транзакцією, яку підписує авторизований oracle-вузол. Програми, які залежать від oracle, звертаються до цих акаунтів через CPI (Cross-Program Invocation) або безпосередньо читають дані з акаунта.
Приклад
DePIN-проєкт на Solana збирає дані про якість повітря з розподілених сенсорів. Кожен сенсор фіксує показники та надсилає їх на oracle-вузол. Oracle агрегує дані з кількох сенсорів у певному районі, усереднює їх і записує фінальне значення в on-chain акаунт. Смарт-контракт проєкту автоматично перевіряє це значення: якщо якість повітря відповідає встановленому нормативу, оператор сенсора отримує винагороду у токенах проєкту. Без oracle контракт не мав би об'єктивного способу дізнатися реальні показники.
Типова помилка
Найпоширеніша помилка — плутати oracle із самим джерелом даних. Oracle не вимірює температуру і не визначає курс криптовалюти: він лише доставляє вже зібрані дані на блокчейн. Якщо джерело ненадійне, oracle передасть ненадійні дані — навіть найбезпечніша архітектура oracle не виправить помилку на етапі збору. Тому при виборі oracle-рішення варто окремо перевіряти, які саме джерела використовуються і як часто вони оновлюються.
Пов'язані матеріали
Внутрішні переходи
- Словник термінів Solana — повернутися до загального списку
Додаткові ресурси
- Офіційна документація Solana щодо архітектури програм та взаємодії між ними (CPI) — для розуміння технічної сторони читання oracle-даних
- Документація провідних oracle-провайдерів екосистеми Solana — для порівняння механізмів агрегації та моделей безпеки