Час прочитання: 9 хвилин
Блокчейн не може сам збирати дані із зовнішнього середовища та ділитись цією інформацією. Наприклад: смартконтракт не знає скільки зараз коштує монета на ринку, та за якою ціною потрібно здійснити обмін. Це подібне на комп’ютер, який не підключений до інтернету.
Смартконтракт — програма, яка працює у блокчейні. Яка автоматично виконує набір дій, які були заздалегідь прописані. Наприклад, смартконтракт може перевести 5 BTC Степану після того, як Коля надішле на адресу смартконтракту 10 BTC.
Оракули — це послуги, які пов’язують блокчейн із зовнішнім світом: децентралізованими додатками, іншим блокчейном, торговими майданчиками, хмарним провайдером, IoT-пристроями, платіжними та корпоративними системами.
Якщо смартконтракту потрібно знати скільки коштує токен або яка ціна бареля нафти? То саме цю інформацію передає оракул.
Блокчейн-оракули перевіряють умови виконання смартконтрактів, та повідомляють їм інформацію, необхідну для їхнього виконання.
Оракули не входять до блокчейну. Не порушують його безпеку. Мережа — децентралізована, але має зовнішні дані. З’єднання з зовнішніми ресурсами відбувається через API.
Навіщо потрібні блокчейн-оракули?
Доступ до зовнішніх даних збільшує функціональність: смартконтрактів та децентралізованих програм.
Наприклад, DeFi-сектор був би неможливим без блокчейн-оракулів. Децентралізоване фінансування спирається на точні дані, які піддаються перевірці. Кредитування, деривативи, страхування та торгівля — все це вимагає даних про котирування різних цифрових активів. Наприклад, цінові блокчейн-оракули збирають із криптобірж дані про ціну токенів — завдяки цьому кредитори в DeFi-протоколах знають розмір забезпечення.
Оракули збирають зовнішні дані та обробляють/перевіряють їх. Зовнішніми даними може бути будь-яка умова смартконтракту: вартість монети, проведення платежу або стан блокчейн-мережі.
Завдання оракула — правильно відібрати інформацію та переконатися, що вона є вірною. Наприклад, обрати актуальний курс криптовалюти серед десятків котирувань на різних торгових майданчиках.
Ще одна важлива функція оракулів — передати дані у правильному форматі, щоб різні системи (блокчейн, децентралізовані програми, торгові майданчики, IoT-пристрої тощо) могли взаємодіяти одна з одною.
Блокчейн-мережа не може спілкуватися з будь-якою іншою системою. Мережі часто використовують різні мови програмування та мають різні системні вимоги.
Три типи блокчейн-оракулів
Блокчейн-оракули діляться за джерелами даних:
Програмні — збирають дані з інтернет-джерел. Наприклад, сайтів у реальному часі. Найчастіше такі оракули збирають інформацію про котирування та обмінні курси криптовалют.
Апаратні — збирають дані з навколишнього середовища. Наприклад, за допомогою датчиків руху або штрих-кодів. Такі оракули можуть використовуватися в інтернеті речей (IoT). Наприклад, для підтвердження того, що замовлення або вантаж на місці.
Консенсусні — збирають інформацію від протоколів ринків пророкувань, таких як Augur або Gnosis.
У напрямку передачі інформації оракули поділяються на:
Вхідні — надають у смартконтракт дані із зовнішнього світу.
Вихідні — передають інформацію зі смартконтрактів у зовнішній світ.
Наприклад, смартконтракт запрограмований на розблокування розумного замку у квартирі на Airbnb — він відкриється, якщо власник підтвердить надходження платежу за оренду.
Оракули діляться за рівнем централізації.
Централізовані — використовують одне джерело даних та контролюються єдиним центром;
Децентралізовані — запитують дані від кількох джерел та порівнюють їх.
Зазвичай оракул потрапляє одразу у кілька категорій. Наприклад, Chainkink — це оракул, який повідомляє протоколи даних про котирування криптовалют, а також є децентралізованим, вхідним та програмним.
Недоліки блокчейн-оракулів
Блокчейн-оракули — основна проблема безпеки смартконтрактів.
Децентралізовані блокчейни, такі як Ethereum створені, щоб не залежати від третіх сторін. Але оракул якраз одна з них.
Головне завдання оракулів — надавати максимально перевірену інформацію. Наприклад, проста відповідь на просте запитання «скільки зараз коштує біткоїн» може бути різною. Вона залежить від торгового майданчика і точного часу.
Якщо дані оракула спотворені, то смартконтракт працюватиме некоректно. Постраждає вся блокчейн-система. Це одна з перешкод для широкого застосування смартконтрактів у блокчейн-мережі.
Централізовані блокчейн-оракули несуть у собі найсерйозніші ризики. Їх легко скомпрометувати та вони сприйнятливіші до маніпуляцій, ніж децентралізовані рішення.
Основним недоліком DeFi є атаки на централізовані цінові оракули, які збирають для DeFi-протоколів інформацію: ціни монет на різних біржах (так розраховується розмір забезпечення кредиту).
Централізовані оракули спираються лише на одне джерело інформації. Якщо в коді DeFi-протоколу є експлойт, зловмисник може обдурити оракул і смартконтракт, що покладається на нього — тоді монети будуть продані за іншим, вигідним злочинцям, курсом.
Хакери виводять з протоколів децентралізованих фінансів десятки мільйонів доларів. Розробники знають про цю проблему, але поки що не розуміють, як її вирішити. Тому хакери можуть вивести гроші з будь-якого DeFi-протоколу, що покладається на централізований ціновий оракул.
З цим дедалі більшу популярність набирають децентралізовані оракули, наприклад, рішення Chainlink (LINK), Band Protocol (BAND), Augur (REP) та MakerDAO (DAI).
Оракули — збільшують витрати користувачів та навантажують мережу. Щоб зовнішні дані надійшли до смартконтракту, його треба викликати, витративши на це ресурси мережі, наприклад, газ в Ethereum.
Кожного разу, коли до блокчейну потрібно додати новий оракул або скоригувати наявний метод поєднання даних, потрібна масштабна координація управління. Необхідно, щоб кожна мережа погодилася й оновила своє програмне забезпечення.
Тобто виникають витрати та додаткові зусилля, які обмежують швидкість розповсюдження блокчейн-оракулів.
Через ці причини оракули не інтегруються в базовий рівень будь-якого великого блокчейна, а працюють як окремі мережі.
Розв’язання проблеми оракула на Chainlink.
Chainlink заснований на роботі двох компонентів — інфраструктура ончейн (на блокчейні) і оффчейн (поза блокчейну).
Оффчейн складається з вузлів оракула, які переносять інформації з реального світу в блокчейн.
Ці два вузли винагороджуються токенами LINK за свою роботу і підлягають контролю контрактом на репутацію. За помилкові дані вузол буде оштрафований шляхом видалення маркерів LINK. Таких вузлів декілька, тому немає ризику, що тільки один вузол буде відповідальним за введення інформації, яка може хоча б один раз внести неправдиву інформацію в блокчейн.
У Chainlink відкритий код — блокчейн-спільнота може самостійно перевіряти його безпеку та надійність, а також вносити пропозиції щодо його зміни.
Послугами Chainlink також користується Google, а інші варіанти використання проєктів, що розв’язують проблему Oracle, можна побачити на малюнку.
ВисновокДецентралізований блокчейн-оракул це необхідний механізм для криптосфери, який полегшує зв’язок між смартконтрактами та зовнішнім світом. А також для масового використання блокчейнів у реальних секторах економіки. Наприклад, у логістиці, страхуванні та інших.
Без блокчейн-оракулів смартконтракти покладались б лише на дані, що вже є в їхніх мережах. Що значно обмежило б їхні можливості.
Широке використання оракулів наближає нас до майбутнього, в якому блокчейн може відігравати важливу роль у повсякденному житті. На шляху до цього розробникам блокчейн-оракулів потрібно вирішити безліч питань, пов’язаних із підвищенням безпеки та ефективності роботи.
Дії:
Сподобалась стаття? Бажаєш розвиватись у сфері відкритих фінансів і читати про актуальні новини криптовалют?
Приєднуйся до нашого телеграм каналу та розвивайся разом з BanklessUA.
Коментарі
Дописати коментар