Оракули блокчейну (Blockchain Oracle) відіграють вирішальну роль у всій криптовалютній екосистемі. Це сторонні сервіси, які забезпечують смарт-контракти зовнішньою інформацією.
Технологія блокчейн з потенціалом обороту активів на сотні трильйонів доларів трансформує фінансові ринки, світову торгівлю, страхування, ігрову індустрію та багато інших галузей. Разом блокчейн, смарт-контракти та оракули лежать в основі верифікованої мережі, де користувачі можуть точно розуміти, що відбувається в мережі, і завжди контролювати свої активи.
Оракули відіграють фундаментальну роль у створенні верифікованого Інтернету, з’єднуючи блокчейни, які в іншому випадку були б ізольовані, з позамережевими даними та обчисленнями, а також забезпечуючи взаємодію між блокчейнами.
Що таке Оракули блокчейну
Блокчейн і смарт-контракти не мають доступу до інформації за межами своєї мережі. І саме тут з’являються оракули. Це зв’язок, який з’єднує дані ззовні блокчейну з даними в блокчейні. Оракули розширюють можливості смарт-контрактів. Без них смарт-контракти були б обмеженими і ґрунтувалися б лише на даних з блокчейну. Таким чином, вони не були б надійними. Оракули передають різноманітну інформацію: дані про транзакції, завершення платежів або навіть показники температури.
На цьому етапі, дозвольте підкреслити важливу річ, яку ви повинні пам’ятати. Оракул – це не джерело даних. Це своєрідний фільтр для інформації, яка надходить в екосистему. Він перевіряє та аутентифікує зовнішні дані. Цікаво, що деякі з них, окрім того, що надсилають інформацію контрактам, можуть також відправляти її назад до зовнішніх джерел.
Для чого були створені оракули?
Як вже писав раніше, оракули з’єднують дані із зовнішнього світу з екосистемою блокчейну. Професійною мовою це називається це off-chain та on-chain світом. Як ви знаєте, деякі блокчейни мають свої власні криптовалюти, вони використовуються для транзакцій, протокольних операцій або для полегшення управління. Інші, такі як Ethereum, дають нам можливість створювати смарт-контракти. Щоб було зрозуміло – смарт-контракти – це комп’ютерні програми, які працюють повністю на основі протоколу блокчейн. Вони автоматично виконують певні дії за певних умов. Їх завдання виконуються без залучення третіх осіб і можуть реалізовувати практично будь-які контракти.
Уявіть, що ви хочете купити автомобіль за свою криптовалюту. Для такого продажу ви створюєте простий смарт-контракт. Це працює приблизно так: як особа А, ви відправляєте гроші особі Б. Потім право власності на продаж переходить від особи Б до особи А. Як ви самі бачите, в цій транзакції не беруть участь посередники. У цьому прикладі доказом успішного платежу або отримання можуть бути дані з-за меж мережі (зовнішні). І в цей момент, як “лицар на білому коні”, в справу вступає оракул. Він шукає, перевіряє і підтверджує автентичність цих зовнішніх даних, а потім передає їх в блокчейн. Ця інформація використовується для валідації смарт-контракту.
Ще одним прикладом може бути ставка на якусь подію (умовно можемо розширити цей механізм на безліч різних подій):
Припустимо, Олег і Сергій хочуть зробити ставку на результат футбольного матчу. Загальна сума в 100 гривень зберігається на умовному депо за допомогою смарт-контракту, при цьому Олег ставить 60 гривень на команду X, а Сергій ставить 40 гривень на команду Y. Як смарт-контракт дізнається, кому віддати гроші – Олегу чи Сергію, коли гра закінчиться? Рішення полягає в тому, що потрібен механізм оракула, щоб отримувати точні результати матчів поза мережою блокчейну і безпечно та надійно передавати їх у блокчейн.
Як оракули інтегруються в смарт-контракти?
Додавання оракулів здійснюється за допомогою контрактів MultiSig. Вони вимагають підписання смарт-контракту декількома сторонами. Можна правильно визначити, що особи А і Б хочуть обмінятися даними, але це можливо лише за дотримання певних умов, дані для яких надає Oracle. Навіть якщо А і Б укладуть смарт-контракт, він буде виконаний тільки в тому випадку, якщо також буде виконана умова, яку можна перевірити за допомогою даних Oracle.
Функції оракулів
Короткий список базових завдань, які повинен виконувати оракул, складається з трьох пунктів:
- Listen (слухати) – функція, за допомогою якої оракул «помічає» в блокчейн-мережі запити в смарт-контрактах на будь-які необхідні зовнішні дані.
- Extract (витягувати) – за допомогою цієї функції оракул отримує запитувані блокчейном дані із зовнішніх систем.
- Broadcast (транслювати) – надсилання отриманих даних у смарт-контракти для їх подальшого застосування в блокчейні.
Оракули можуть використовуватися як для взаємодії децентралізованих мереж і централізованих, так і для взаємодії однієї блокчейн-системи з іншою. При цьому один оракул може обслуговувати передачу даних всередину блокчейна, в той час як інший навпаки віддавати цю інформацію до зовнішніх систем.
Які типи оракулів бувають у блокчейні
Як вже згадувалось, оракули мають різні можливості та характеристики. Зараз можливо виділити такі типи оракулів:
- Апаратні, де окремі контракти повинні взаємодіяти з реальним світом. Вони призначені для отримання інформації з реального світу і надання її відповідно до потреб смарт-контрактів. Такі дані надаються іншими пристроями, які використовуються для зчитування даних (наприклад, сканерами штрих-кодів). У цьому випадку оракули відіграють роль перекладача, який перекладає отриману інформацію на мову, зрозумілу смарт-контрактам.
- Програмні оракули взаємодіють з онлайн-джерелами інформації. Потім вони відправляють їх у блокчейн. Дані надходять з різних баз даних, серверів або онлайн-сайтів. Їх перевага в тому, що вони передають інформацію в режимі реального часу, завдяки постійному підключенню до Інтернету. Вони є одними з найпопулярніших оракулів.
- Вхідні оракули, завданням яких є передача інформації ззовні смарт-контрактам. Такий оракул повідомляє смарт-контракту, яку інформацію зафіксував зовнішній датчик.
- Вихідні, що діють за аналогією з вхідним Oracle. Саме вони відправляють дані з контрактів у зовнішній світ.
- Централізовані, які, як видно з назви, контролюються третьою стороною. Вона є єдиним постачальником даних для смарт-контрактів. Це дуже ризиковано, оскільки ефективність виконання того чи іншого смарт-контракту повністю залежить від третьої сторони. Більше того – централізовані оракули піддаються хакерським атакам або навмисній, помилковій передачі даних.
- Децентралізовані ж прагнуть за будь-яку ціну уникнути будь-якого ризику для контрагента. Вони не покладаються лише на одне джерело інформації. У децентралізованих оракулах смарт-контракт надсилає запит до кількох оракулів, щоб якомога точніше визначити достовірність і точність шуканих даних.
- Особливі, які застосовуються до одного конкретного контракту. Вони вимагають багато часу і є дорогими в обслуговуванні, тому що якщо ми хочемо реалізувати кілька контрактів одночасно, ми повинні мати таку ж кількість оракулів.
Довіра до оракула
Щоб підтримувати свій авторитет, оракули користуються багатьма правилами.
- По-перше, вони використовують багато джерел даних. Це робить малоймовірним, що вони отримають помилкову інформацію.
- По-друге – вони використовують багато оракулів для збору даних. Це усуває точки відмови, але існує ризик отримання неправдивих джерел інформації.
- По-третє – системи заохочення. Щоб бути впевненими, що користувачі, які беруть участь у зборі інформації, є чесними, оракули використовують механізм заохочення. Якщо робота виконана добре – користувач винагороджується токенами.
Використання оракулів
- Прогнозування ринку – Augur і Gnosis використовують інформацію, отриману від спільноти, щоб дізнатися про майбутній стан ринку. У цьому випадку знання “перехоплюються” за допомогою декількох оракулів.
- Система страхування – за допомогою оракулів ми можемо купувати страховку. Вони також вирішують основну проблему в цьому секторі – шахрайство.
- Стабільність стейблкоінів – наприклад, DAI використовує оракули для перевірки та моніторингу ціни Ethereum.
- DeFi – оракули забезпечують децентралізовані фінанси надійною інформацією, наприклад, про ціни криптоактивів.
- Відправлення – оракули можуть ефективно наносити на карту місцезнаходження відстежуваних відправлень, замінюючи системи GPS.
Проблеми застосування оракулів в блокчейні
Ви самі бачите, що оракули є важливим компонентом екосистеми блокчейну. Однак однією з проблем оракулів є хакерські атаки. Тому важливо, щоб при його розробці смарт-контракт, заснований на ньому, не був скомпрометований. Крім того, на жаль, на оракули не поширюються механізми безпеки, які забезпечують публічні блокчейни.
Як висновок
Оракули мають важливе значення в криптоіндустрії. Пов’язуючи блокчейн з реальним світом, вони ефективно прискорюють його глобальне впровадження. Користувачі будуть впевнені, що смарт-контракти працюють безпечно і відповідально. У них попереду ще довгий шлях, але з їхньою допомогою обов’язково з’явиться багато проектів, які трансформують нинішні галузі.