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