Подання спільноти - Автор: Валері Моу
Що таке блокчейн-оракул?
Блокчейн-оракули — це сторонні сервіси, які надають смарт-контракти зовнішньою інформацією. Вони служать мостами між блокчейнами та зовнішнім світом.
Блокчейни та смарт-контракти не можуть отримати доступ до даних поза мережею (даних, які знаходяться поза мережею). Однак для багатьох договірних угод життєво важливо мати відповідну інформацію із зовнішнього світу для виконання угоди.
Саме тут вступають у гру блокчейн-оракули, оскільки вони забезпечують зв’язок між даними поза ланцюгом і в ланцюзі. Оракули є життєво важливими в екосистемі блокчейну, оскільки вони розширюють сферу дії розумних контрактів. Без блокчейн-оракулів смарт-контракти мали б дуже обмежене застосування, оскільки вони мали б доступ лише до даних із своїх мереж.
Важливо зазначити, що оракул блокчейну — це не саме джерело даних, а радше рівень, який запитує, перевіряє та автентифікує зовнішні джерела даних, а потім передає цю інформацію. Дані, які передаються оракулами, мають різні форми: інформація про ціну, успішне завершення платежу або температура, виміряна датчиком.
Щоб викликати дані із зовнішнього світу, потрібно викликати смарт-контракт і витратити мережеві ресурси. Деякі оракули також мають можливість не лише передавати інформацію в смарт-контракти, але й надсилати її назад до зовнішніх джерел.
Існує багато різних типів оракулів – те, як працює блокчейн-оракул, повністю залежить від того, для чого він призначений. У цій статті ми розглянемо деякі з цих дизайнів.
Приклад блокчейн-оракула
Припустимо, що Аліса і Боб укладають парі на те, хто стане переможцем на виборах президента США. Аліса вважає, що переможе кандидат від республіканців, а Боб вважає, що переможе демократ. Вони узгоджують умови ставки та фіксують свої кошти в смарт-контракті, який за результатами виборів передає всі кошти переможцю.
Оскільки смарт-контракт не може взаємодіяти із зовнішніми даними, він повинен залежати від оракула, щоб надати йому необхідну інформацію – у цьому випадку результати президентських виборів. Після завершення виборів оракул запитує надійний API, щоб дізнатися, який кандидат переміг, і передає цю інформацію в смарт-контракт. Потім контракт надсилає кошти Алісі або Бобу, залежно від результату.
Без оракула, який передає дані, не було б способу розрахувати цю ставку так, як не міг би зіграти один із учасників.
Які є різні типи блокчейн-оракулів?
Блокчейн-оракули можна класифікувати залежно від ряду різних якостей:
Джерело – дані походять із програмного чи апаратного забезпечення?
Напрямок інформації – вхідний чи вихідний?
Довіра – це централізовано чи децентралізовано?
Один оракул може відноситись до кількох категорій. Наприклад, оракул, який отримує інформацію з веб-сайту компанії, є централізованим вхідним програмним оракулом.
Програмні оракули
Програмні оракули взаємодіють з онлайн-джерелами інформації та передають її в блокчейн. Ця інформація може надходити з онлайнових баз даних, серверів, веб-сайтів – по суті, будь-якого джерела даних в Інтернеті.
Той факт, що програмні оракули підключені до Інтернету, дозволяє їм не тільки надавати інформацію в розумні контракти, але й передавати цю інформацію в режимі реального часу. Це робить їх одними з найпоширеніших типів блокчейн-оракулів.
Інформація, яку зазвичай надають програмні оракули, може включати курси валют, ціни цифрових активів або інформацію про рейси в реальному часі.
Апаратні оракули
Деякі смарт-контракти потребують взаємодії з реальним світом. Апаратні оракули призначені для отримання інформації з фізичного світу та надання її доступності для смарт-контрактів. Така інформація може передаватися з електронних датчиків, сканерів штрих-кодів та інших пристроїв для зчитування інформації.
Апаратний оракул по суті «перекладає» події реального світу в цифрові значення, які можуть бути зрозумілі смарт-контрактами.
Прикладом цього може бути датчик, який перевіряє, чи прибула вантажівка, що перевозить вантаж, на вантажний майданчик. Якщо це так, він передає інформацію в смарт-контракт, який потім може виконувати рішення на її основі.
Якщо ви бажаєте прочитати більше на подібну тему, ознайомтеся з статтею Blockchain Use Cases: Supply Chain.
Вхідні та вихідні оракули
Вхідні оракули передають інформацію із зовнішніх джерел до смарт-контрактів, тоді як вихідні оракули надсилають інформацію зі смарт-контрактів у зовнішній світ.
Прикладом вхідного оракула є той, який повідомляє смарт-контракту, яку температуру вимірює датчик. Прикладом вихідного оракула можна вважати розумний замок. Якщо кошти надходять на адресу, смарт-контракт надсилає цю інформацію через вихідний оракул до механізму, який розблокує розумний замок.
Централізовані та децентралізовані оракули
Централізований оракул контролюється однією організацією та є єдиним постачальником інформації для смарт-контракту. Використання лише одного джерела інформації може бути ризикованим – ефективність контракту повністю залежить від організації, яка контролює оракул. Крім того, будь-яке зловмисне втручання з боку поганої особи матиме прямий вплив на смарт-контракт. Основна проблема з централізованими оракулами полягає в наявності єдиної точки відмови, що робить контракти менш стійкими до вразливостей і атак.
Децентралізовані оракули мають ті ж цілі, що й публічні блокчейни, – уникнення ризику контрагента. Вони підвищують надійність інформації, що надається смарт-контрактам, не покладаючись на єдине джерело правди. Смарт-контракт запитує кілька оракулів, щоб визначити достовірність і точність даних – ось чому децентралізовані оракули також можна називати оракулами консенсусу.
Деякі блокчейн-проекти надають децентралізовані оракул-сервіси для інших блокчейнів. Децентралізовані оракули також можуть бути корисними на ринках прогнозів, де достовірність певного результату може бути перевірена суспільним консенсусом.
Хоча децентралізовані оракули прагнуть досягти недовіри, важливо зазначити, що, як і ненадійні блокчейн-мережі, децентралізовані оракули не усувають повністю довіру, а скоріше розподіляють її між багатьма учасниками.
Контрактні оракули
Контрактний оракул — це той, який призначений для використання одним розумним контрактом. Це означає, що якщо хтось хоче розгорнути кілька смарт-контрактів, потрібно розробити пропорційну кількість оракул для конкретного контракту.
Цей тип оракула вважається дуже трудомістким і дорогим в обслуговуванні. Компанії, які хочуть отримати дані з різних джерел, можуть вважати такий підхід дуже непрактичним. З іншого боку, оскільки специфічні для контракту оракули можна спроектувати з нуля для конкретного випадку використання, розробники мають високу гнучкість, щоб адаптувати їх до конкретних вимог.
Людські оракули
Іноді люди зі спеціальними знаннями в певній галузі також можуть служити оракулами. Вони можуть досліджувати та перевіряти достовірність інформації з різних джерел і перекладати цю інформацію на розумні контракти. Оскільки людські оракули можуть підтверджувати свою особу за допомогою криптографії, ймовірність того, що шахрай підробить свою особу та надасть зіпсовані дані, відносно низька.
Проблема Оракула
Оскільки розумні контракти виконують рішення на основі даних, наданих оракулами, вони є ключовими для здорової екосистеми блокчейну. Основна проблема при розробці оракулів полягає в тому, що якщо оракул скомпрометований, смарт-контракт, який покладається на нього, також скомпрометований. Це часто називають проблемою Oracle.
Оскільки оракули не є частиною основного консенсусу щодо блокчейну, вони, на жаль, не є частиною механізмів безпеки, які можуть забезпечити публічні блокчейни. Конфлікт довіри між сторонніми оракулами та ненадійним виконанням смарт-контрактів залишається здебільшого невирішеною проблемою.
Атаки типу «людина посередині» також можуть становити загрозу, коли зловмисник отримує доступ до потоку даних між оракулами та контрактом і змінює або фальсифікує дані.
Закриття думок
Надійний механізм, який полегшує зв’язок між розумними контрактами та зовнішнім світом, є життєво важливим для глобального впровадження блокчейнів. Без блокчейн-оракулів смарт-контракти повинні були б покладатися лише на інформацію, яка вже є в їхніх мережах, що значно обмежило б їхні можливості.
Децентралізовані оракули мають потенціал для впровадження захисних механізмів, які можуть усунути багато системних ризиків від екосистеми блокчейну. Оракули блокчейну залишаються одним із найважливіших будівельних блоків, які мають бути реалізовані безпечним, надійним і ненадійним способом для зростання екосистеми блокчейну.