Що таке оракул на блокчейні?

Що таке оракул на блокчейні?Оракули грають важливу роль в екосистемі будь-якого блокчейна, оскільки вони є рішенням однієї з ключових проблем розподілених мереж - відсутністю способу комунікації з реальним світом. У зв'язку з чим розробники активно працюють над реалізацією й впровадженням цих алгоритмів.

Будь-яка розподілена децентралізована мережа завжди детермінована - транзакції в ній йдуть в строго хронологічній послідовності, а сама мережа не може самостійно отримувати інформацію з третіх джерел і зовнішнього світу.

Що таке оракул на блокчейні?

Оракули - це сторонні сервіси, які надають смарт-контрактам зв'язок із зовнішніми джерелами інформації, тобто виступають як міст між блокчейнами й зовнішнім світом.

Блокчейни та смарт-контракти не можуть отримати доступ до даних на оффчейні (за межами мережі). Однак, для багатьох договорів, життєво важливо мати можливість отримати відповідну інформацію із зовнішнього світу для дотримання умов угоди.

При таких обставинах в справу вступають оракули, бо вони забезпечують зв'язок між зовнішніми й внутрішніми джерелами. Оракули є вкрай необхідним елементом блокчейн-екосистеми, оскільки вони розширюють можливості смарт-контрактів. Без оракулів смарт-контракти будуть вкрай обмежені, оскільки вони зможуть отримувати доступ до даних виключно в рамках своєї мережі.

Варто зазначити, що сам по собі оракул не є джерелом даних, це скоріше один з шарів, який запитує, перевіряє й автентифікує всі свідчення зовнішніх джерел, а потім ретранслює цю інформацію. Дані, що передаються оракулами, бувають різних видів: інформація про ціни, успішне завершення платежу або температура, виміряна датчиком.

Для запиту даних із зовні, необхідно привести в дію смарт-контракт і витратити на це мережеві ресурси. Деякі оракули також мають можливість не тільки передавати інформацію в смарт-контракти, а й відправляти її назад на зовнішні джерела.

Приклад використання оракулів

Припустимо, що Ганна та Іван роблять ставку на те, хто переможе на президентських виборах. Ганна вважає, що переможе кандидат від однієї партії, а Іван вважає, що переможе представник від іншої. Вони погоджуються з умовами парі та блокують певну частину коштів в смарт-контракті, який надає виграш переможцю на підставі результату виборів.

Оскільки смарт-контракт не може взаємодіяти з зовнішніми джерелами даних, він повністю залежний від оракула, який надати йому необхідну інформацію, в даному випадку, це результат президентських виборів. Після закінчення виборів, оракул подає запит на довірений API, щоб з'ясувати, який кандидат виграв, і передає цю інформацію смарт-контракту. Потім контракт відправляє кошти Ганні або Івану, в залежності від результату.

Якби не діяльність оракула, що ретранслює пакети даних, був би відсутній спосіб визначити переможця без стороннього втручання.

Як працює блокчейн-оракул

Одне з ключових питань, яке постає перед розробниками блокчейн оракулів - як пояснити події смарт-контракту перевіреним, послідовним і прозорим шляхом? Для цього необхідні три складових:
  • Джерело даних - це ресурс, який надає потрібну оракулу інформацію. Типи даних, з якими працюють оракули, сильно варіюються, тому джерела можуть бути найрізноманітнішими - від метеорологічних ресурсів, що надають дані про погоду, до інформації Bloomberg про коливання цін на фондовому ринку або даних про майбутні події від ринку передбачень Augur.
  • Запит - це спеціальний код, який працює з певним джерелом даних. Завдяки запиту оракул отримує потрібні смарт-контракту дані.
  • Оракул/Консенсус оракулів - це алгоритм/група алгоритмів, що працюють в блокчейні, які відповідають за підключення до джерела даних і інтерпретацію отриманої інформації в зрозумілий блокчейну формат.
Типи блокчейн-оракулів

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

Оскільки смарт-контракти приймають рішення на підставі даних, які їм надають оракули, вони є ключем до здорової роботі блокчейн-екосистеми. Основна проблема з якою стикаються при розробці оракулів, полягає в тому, що ризик можливих негативних впливів на оракула безпосередньо позначається на роботі смарт-контракту, який на ньому ґрунтується. Це часто згадується як «проблема оракула».
На жаль, оракули не є частиною механізмів безпеки публічних блокчейнів, тому як вони жодним чином не пов'язані з консенсусом блокчейн-мережі. Конфлікт довіри між сторонніми оракулами й ненадійним виконанням смарт-контрактів все ще залишається невирішеною проблемою.

Атака посередника також може становити загрозу, коли зловмисник отримує доступ до потоку даних між оракулами й контрактом, і модифікує або фальсифікує дані, що передаються.

Висновок

У міру розвитку блокчейн-економіки екосистема оракулів буде стрімко розвиватися як надійний спосіб зв'язку цифрового світу з реальним. Саме блокчейн-оракули зможуть розв'язувати проблеми комунікації блокчейнів, а також забезпечити найширше застосування смарт-контрактів в різних індустріях, зацікавлених у використанні децентралізованих мереж.