21 июля 2021

Разработчик оракула 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 нет простого способа для запроса кастомных данных. Вы можете легко получить популярную информацию вроде цены биткоина на Coinbase, но запросить через оракул что-то вроде количества упоминаний Tezos в Twitter — очень сложная задача.

В ubinetic мы решили проблему кастомных запросов с помощью разделения источников и передатчиков данных. Наш оракул работает так:

  1. Компания-передатчик данных запускает приложение ubinetic на нескольких Android-смартфонах. 
  2. Приложение по API получает информацию, например, цену Tezos к доллару на Binance. Затем оно проверяет точность, актуальность и полноту информации.
  3. ubinetic подписывает информацию и отправляет передатчику данных проверяемое доказательство невмешательства в работу приложения.
  4. Передатчик подтверждает, что собранная информация соответствует источнику, а приложение никто не модифицировал.
  5. ubinetic отправляет данные агрегатору.
  6. Агрегатор собирает подписанные данные от нескольких передатчиков.
  7. По истечению заданного интервала агрегатор отправляет информацию в контракт-нормализатор на Tezos.
  8. Нормализатор выводит средневзвешенное значение из нескольких источников и передает его в 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, чтобы ничего не пропустить:

  1. Telegram-канал
  2. Facebook.
  3. Twitter на русском и украинском языках
  4. Twitter на английском языке
  5. YouTube-канал
  6. Instagram
  7. LinkedIn
  8. hub на ForkLog

Этот пост мы изначально опубликовали в блоге Tezos Ukraine.