Розробник оракула ubinetic для Tezos: у провайдерів даних є стимул шахраювати

Команда ubinetic розробляє оракули нового типу на Tezos. Алессандро Де Карлі розповів Tezos Ukraine, що робить їх рішення простіше, ніж Harbinger і Chainlink, і чому бекенд ubinetic працює на звичайних смартфонах.
Алессандро і команда Papers працює з блокчейном понад десять років. Для екосистеми Tezos вона створила рішення для підключення гаманців до додатків Beacon, мобільний гаманець AirGap і оглядач Tezblock.io.
Привіт, Алессандро! Як ви стали блокчейн-розробником на Tezos?
Під час навчання я цікавився маловідомої розподіленою системою під назвою біткоїн. Потім працював у сфері мобільної безпеки в великій фінансовій установі зі Швейцарії. Там я дізнався, що мобільні платформи набагато безпечніше для криптовалютних гаманців, ніж операційні системи для комп’ютерів.
Коли я заснував Papers, вирішив застосувати знання про системи безпеки в блокчейн-розробці. Спочатку ми зробили рішення для біткоїн-платежів з використанням каналів стану, яке лягло в основу Lightning Network. Потім розробили мобільний офлайн-гаманець AirGap
Над якими проєктами ви зараз працюєте?
Я зосереджений на платформі синтетичних активів youves і оракулах ubinetic. Але, крім мене, в компанії Papers працює багато інженерів. Вони займаються проєктами для фінансових установ та крутими розробками для Tezos: Beacon, Tezblock, Ecoo і NFT-проєктами.
ubinetic недавно почав співпрацювати з компаніями Bitcoin Suisse, Sygnum і Taurus. Можете розповісти про вигоди партнерства?
Мета проєкта youves — надати користувачам інструмент для створення та керування синтетичними активами. Для цього нам потрібен оракул, який буде збирати інформацію з мінімальними обмеженнями. Chainlink і Harbinger не підійшли, тому ми зробили ubinetic. Він працює на довірі до відомих рішень, наприклад до Google Device Attestation Solution.
Компанії Bitcoin Suisse, Sygnum і Taurus стали довіреними передавачами даних ubinetic. Вони підтримують пристрої з запущеним ubinetic і направляють підписану інформацію в блокчейн Tezos.
У чому головна складність розробки оракула?
Найскладніше — забезпечити чесність передачі даних. Оракули передають інформацію, яка контролює логіку смарт-контрактів з цифровими активами. Якщо контракт отримає неправдиву інформацію, то відправить комусь багато токенів. Як бачите, у провайдерів даних є стимул шахраювати. Розробнику оракула потрібно придумати надійний доказ чесності збору і передачі інформації.
Чим оракули ubinetic відрізняються від Chainlink і Harbinger?
Підходом до збору і надання даних. Chainlink використовує спільноту: якщо достатня кількість користувачів передають однакову інформацію, її можна вважати правдивою. Harbinger же просить джерело підписати дані.
У Harbinger і Chainlink немає простого способу для запиту кастомних даних. Ви можете легко отримати популярні ціни криптовалют, але запросити через оракул щось унікальне типу кількості згадувань Tezos в Twitter — дуже складне завдання.
В ubinetic ми розв’язали проблему кастомних запитів за допомогою розділу джерел і передавачів даних. Наш оракул працює так:
- Компанія-передавач даних запускає додаток ubinetic на декількох Android-смартфонах.
- Додаток по API отримує інформацію, наприклад, ціну Tezos до долара на Binance. Потім він перевіряє точність, актуальність і повноту інформації.
- ubinetic підписує інформацію і надає передавачу даних доказ невтручання в роботу програми.
- Передавач підтверджує, що зібрана інформація відповідає джерелу, а додаток ніхто не модифікував.
- ubinetic відправляє дані агрегатору.
- Агрегатор збирає підписані дані від декількох передавачів.
- По закінченню заданого інтервалу агрегатор відправляє інформацію в контракт-нормалізатор на Tezos.
- Нормалізатор виводить середньозважене значення з декількох джерел і передає його в youves.
Так ubinetic надає криптографічні докази чесності для кожного кроку збору інформації, а передавачі даних не можуть нічого підробити.
Як можна стати передавачем даних?
Ми плануємо децентралізувати цю справу, але поки що передавачі ubinetic — закритий клуб. Якщо хочете приєднатися зараз, напишіть нам.
Чому ви вибрали Android-смартфони як платформу для ubinetic?
В Android-смартфонах стоять випробувані в боях апаратні модулі безпеки. Крім того, компанія Google вбудувала в систему спосіб довести, що програма не була модифікована. На базі цієї комбінації ми створили безпечне середовище виконання для збору інформації та доведення чесності роботи. Наскільки я знаю, ніхто ще не придумав публічного злому атестації Android-пристроїв.
Якщо ви цікавитеся технічними деталями, можете прочитати наш пост про ubinetic на Medium. Там багато інформації про Android і посилань на дослідження безпеки різних операційних систем. Також можете подивитися вихідний код ubinetic і використовувати його в своєму проєкті.
Уявіть, що три біржі надають ціну біткоїна в доларах, але перша передає її під назвою «BTCUSD», друга — «Bitcoin», третя — «btc». Як ubinetic впорається з такою ситуацією?
Оракул працює з HTTPS REST JSON API. При запиті даних користувач вказує посилання і JSON Path для інформації, яку потрібно прочитати, підписати та опублікувати в смарт-контракті. «Семантику» інформації визначає той, хто налаштовує збір даних через оракул.
Можете назвати кілька прикладів використання ubinetic?
ubinetic підійде для будь-яких додатків, яким потрібна інформація із зовнішніх джерел. Наприклад, блокчейн-букмекер може дізнатися рахунок футбольного матчу, платформа синтетичних активів — ціни сировини, кросчейн-міст — кількість токенів на певній адресі Ethereum.
Яких програм або технологій не вистачає Tezos?
Це важке питання. З одного боку, я постійно дізнаюся про запуск цікавих проєктів і дивуюся активності спільноти Tezos. З іншого, ми знаходимося на ранньому етапі розвитку. Я дуже хочу побачити проєкти з самодостатніми бізнес-моделями, які підвищать цінність протоколу і прискорять його розвиток.
Підписуйтесь на соцмережі Tezos Ukraine, щоб нічого не пропустити:
- Telegram-канал.
- Facebook.
- Twitter українською та російською мовами.
- Twitter англійською мовою.
- YouTube-канал.
- Instagram.
- LinkedIn.
- hub на ForkLog.


