14 декабря 2022

Что внутри у PowerDCloud?

DApp будущего: как это работает — на примере Power DCloud

Подкаст серии 1+1=3 от Community Hub.

Гость выпуска: Игорь Белоусов, CTO Power DCloud.

Ведущий: Menaskop.

«Мы идем в публичный децентрализованный Web3, в P2P-сегмент. Разработчик написал приложение, залил в нашу сеть, и оно работает: больше не надо выбирать сервера и настраивать их. Умный интернет с децентрализованными приложениями, которые не нужно скачивать и устанавливать, — это то, что предлагает Power DCloud».

Команда проекта и его целевая аудитория

Как вы запускали проект?

Игорь: Пятнадцать лет назад мы с Максимом, нашим сегодняшним CEO, создавали проект городского телеком-оператора. После его продажи мы разошлись и снова встретились в 2016-м, чтобы вместе заниматься IT-проектами. И уже в следующем году решили разработать масштабируемый блокчейн. Так и появился Power DCloud.

Какое соотношение технарей и гуманитариев? Кого не хватает?

Игорь: У сотрудников сильный технический бэкграунд, даже если они не занимаются техническими заданиями. Из десяти человек в команде восемь — технари. Технарям сложно работать с комьюнити, развивать социальные связи, так что нам, пожалуй, не хватает гуманитариев, и мы ищем новых сотрудников.

Кто ваша целевая аудитория?

Игорь: Мы нацелены на разработчиков децентрализованных приложений, сейчас делаем акцент на сегмент развлечений и игр. Предоставляем платформу для создания полноценного dApp. Это не голый блокчейн, а полноценная инфраструктура с инструментами хранения данных и их дистрибуции через централизованный маркетплейс. Хотим фокусироваться на стартапах, которые на нашей платформе могут легко и быстро создавать прототип приложения, развивать его до MVP и масштабировать. Важный плюс Power DCloud — нашу инфраструктуру легко конфигурировать под себя: менять степень децентрализации, количество хранимых копий данных, экономику и даже время блоков.

Направление и изменения в работе Power DCloud

Microsoft Azure уходил в систему с большим количеством блокчейнов, на которых можно делать dApps, публиковать, интегрировать с B2B-сегментом. Они ваши конкуренты?

Игорь: Нет, мы идем в публичный децентрализованный Web3, в P2P-сегмент. Разработчик написал приложение, залил в нашу сеть, и оно работает: больше не надо выбирать сервера и настраивать их. Умный интернет с децентрализованными приложениями, которые не нужно скачивать и устанавливать, — это то, что предлагает Power DCloud.

В 2017 году у вас был скоростной блокчейн, вы боролись за TPS, шардинг и так далее. Теперь вы — целая экосистема. Как произошли такие изменения за пять лет?

Игорь: В прошлую криптозиму мы начали делать пилоты: создавали одностраничные приложения, работающие с блокчейном напрямую из браузера, мы называли их dApps 2.0. Мы заметили, что другие разработчики просто интегрируют доступ к web3.js в приложения и почему-то называют их децентрализованными. Поэтому мы сфокусировались на решении одной из основных проблем Web3 — невозможности создания полноценных децентрализованных приложений без использования централизованных частей из облачных Web2-сервисов.

Разработчик может иметь доступ к данным пользователя Web3, который использует dApps. Вины разработчика в этом нет, но 99% dApps не до конца децентрализованы. Мы их называем «dApps-франкенштейнами», так как они собраны из старых частей Web2 и интеграций с Web3. Web3-сообществу нужна полноценная среда, чтобы создавать нормальные dApps, поэтому мы решили изменить подход: сделали децентрализованный storage.

Какую проблему не можете решить на данном этапе?

Игорь: Разработчик создал приложение и разместил у нас в storage. Есть URL, по которому он может запустить приложение, он состоит из цифр, букв. Пользователь хочет, чтобы приложение запускалось на его сайте. Каким образом настроить DNS, чтобы он отдавал доменное имя на тот URL? 

Финансирование проекта и его токен

Что можете сказать о токеномике проекта?

Игорь: Мы собираемся быть публичной платформой, поэтому у нас есть токен — Smart Key (SK), который необходим для совершения операций на платформе. Комиссия берется за передачу токенов между пользователями, обработку смарт-контрактов, хранение данных в storage, затем она распределяется между владельцами нод.

Откуда берете деньги на развитие?

Игорь: Сначала развивались за свои личные средства. Успешно запустили testnet, получили более трех с половиной тысяч заявок на участие. Сейчас работаем с комьюнити, ищем дополнительные деньги на масштабирование команды, финализацию платформы. В начале следующего года хотим запустить mainnet нашего проекта. Рассматривали IDO, но для него нужно оздоровление рынка.

Консенсус Resonance

Расскажи о вашем консенсусе.

Игорь: Resonance — наш синхронный BFT-консенсус без лидера. Большинство проектов использует асинхронные консенсусы с лидерством. В них транзакции собирает и обрабатывает один лидер, во власти которого допуск транзакций к исполнению и порядок их выполнения. Валидаторы проверяют работу лидера и ставят подписи о правильности работы. Результат работы лидера становится валидным, когда собирается определенное количество подписей валидаторов. Однако валидаторы не могут влиять на работу лидера перед созданием списка транзакций. У нас же нет лидера, все узлы равноправны. В процессе согласования каждый узел поэтапно добавляет частичку своей энтропии в новое состояние, таким образом результирующую энтропию невозможно предсказать. Система с таким консенсусом может работать со случайными числами.

Чем защищается лидер в асинхронном консенсусе, какие уязвимости в таких системах?

Игорь: Первый вариант — лидер перестал работать. Ветка протокола проверяет это и запускает систему перевыбора. Перевыбор можно установить заранее: при выборе первого лидера выбирается второй. Второй вариант — валидатор может инициировать перевыборы, если видит, что лидер работает не по правилам.

Как будете возмещать деньги пользователям, если взломают Power DCloud?

Игорь: Блокчейны делятся на два направления: с безопасностью 1/2 + 1 и 2/3 + 1. Если случится 1/2 + 1 и 2/3 + 1, то ничто не поможет.

Будущее децентрализованного хранения

Чем отличается ваш шардинг?

Игорь: Представим, что каждые десять минут конвейер выпускает машину. Конвейер — это блокчейн, а выпуск машины — создание блока. Здесь же работает отдел контроля качества, который не пропустит бракованную машину. Всегда есть предел количеству конвейеров, которые способен проверять отдел качества, поэтому увеличение числа конвейеров не приведет к росту производительности.

В этой ситуации сейчас находятся Ethereum 2.0 и Polkadot: ограничив число шардов, с которыми они могут работать, эти системы создали безопасный «отдел качества» (центральную цепочку), но тем самым ограничили производительность. Наш «отдел качества» распределен, поэтому в нашем шардинге нет ограничения по количеству шардов, или чейнов, которые работают напрямую друг с другом. В отличие от стандартизированных чейнов, которые имеют одно и то же время блока и одну виртуальную машину смарт-контрактов, наши чейны гетерогенные, они могут отличаться друг от друга в настройках. Благодаря этому мы можем создавать апчейны — чейны, выделенные под отдельное приложение.

У вас легкомасштабируемый блокчейн, однако существует трилемма масштабируемости. Где у вас просадка?

Игорь: Трилемма звучит так: скорость, либо безопасность, либо целостность. Увеличивая скорость, уменьшается как минимум один другой аспект. У нас незначительная жертва в безопасности.

В чем основная привлекательность вашей версии децентрализованного хранения?

Игорь: Файлы и данные нашего децентрализованного хранилища просты в использовании. Пользовательская сеть услуг хранит полные копии файлов, которые доступны по протоколу HTTP. Это позволяет любому современному приложению получать доступ к файлам без драйверов, гейтов. Большинство других проектов децентрализованных хранилищ дробят файлы и распределяют их части по сети. Непонятно, как эти части собирать, так как нет стандарта, который поддерживали бы все браузеры. Наш вариант позволяет любым браузерам получать доступ к файлам без установки дополнительных расширений.

Хранение полных копий файлов на дисках storage позволяет воссоздать полную файловую структуру, которая требуется разработчику. У других проектов файловая структура не поддерживается, может меняться идентификатор файла, что приводит к сложности загрузки.

Как должно выглядеть децентрализованное приложение будущего?

Игорь: У полноценного децентрализованного приложения, каким мы его видим, отсутствуют централизованные посредники. Можно выделить три основные характеристики, на которые мы обращаем внимание:

  1. Backend. С появлением блокчейна и смарт-контрактов эта часть обычно не вызывает вопросов — здесь посредников нет.
  2. Код и данные, которыми пользуется приложение, должны храниться децентрализованным способом.
  3. Общение между frontend и backend: каким образом получаются данные от смарт-контракта в приложение пользователя и как приложению отправлять данные блокчейн. Сейчас чаще используется посредник: нода либо infura.

Если по каждому из этих пунктов приложению не потребуются централизованные посредники, то это и будет идеальное децентрализованное приложение. 

Все другие выпуски подкаста 1+1=3 доступны здесь.

Обсудить в Discord!