Основные моменты релиза включают в себя: GroveDB, верифицируемые вторичные индексы документов, обновление контракта данных, ID мастернод, коммуникация внутри набора валидаторов
Dash Core Group рады объявить о релизе Dash Platform v0.22 в тестовой сети. В этой версии появится обновлённое бэкэнд-хранилище, которое использует решение нашей собственной разработки GroveDB — иерархическую и криптографически доказуемую базу данных. Кроме того, в этом релизе содержатся ID мастернод, с появлением которых мастерноды смогут получать финансовое вознаграждение за свои услуги на блокчейне Platform. Подробное описание работы этой функции появится в релизе v0.23. Также в этой версии вводятся функционал обновления контракта данных и технические улучшения, связанные с зависимыми компонентами и элементами Platform, например, консенсусом Tenderdash, функционалом Dashmate и JavaScript SDK.
Новый релиз влечёт за собой несколько крупных изменений, в результате которых предыдущие данные Platform станут недоступны. Поэтому предыдущие данные состояний Platform в тестнете будут стёрты. При этом основной блокчейн Dash в тестнете останется нетронутым, сохраняя историю тестовых платёжных транзакций.
Чтобы обновить ноду в тестовой сети, требуется обновить дистрибутив и обнулить данные платформы.
Основные моменты релиза
- GroveDB — иерархическое аутентифицированное хранилище
В этой версии команда Platform разработала инновационное собственное решение для хранения состояний платформы. В предыдущем прототипе хранилища для достижения необходимого функционала использовались аж четыре базы данных: два экземпляра Merk и два — MongoDB. Четыре копии данных — это чересчур, поэтому нам пришлось создать GroveDB. GroveDB работает за счёт наслоения AVL мерклоподобных деревьев вместо одного большого дерева Меркла и обладает подходящим функционалом для создания вторичных индексов. При таком иерархическом подходе значительно снижается размер хранимых данных и криптографических доказательств, которые используются для подтверждения данных в лёгких клиентах. Новая база данных поддерживает новые операции, которые открывают возможность для более сложных и криптографически подтверждаемых запросов подобно тем, что существуют в других популярных не-аутентифицированных базах данных, например MySQL или MongoDB. - Криптографически верифицируемые вторичные индексы документов
Ранее для запросов DApps к документам со свойствами документов и их ID использовался MongoDB. Поскольку MongoDB не поддерживает криптографические доказательства для вторичных индексов, одного только MongoDB было бы недостаточно для обеспечения нужного уровня безопасности. До версии v0.22 мы решали эту проблему с помощью аутентифицированный базы данных под названием Merk, о которой уже упоминали выше. Но при этом Merk не подходит для эффективной работы со сложными запросами. Это значит, что мастернода-злоумышленник могла бы вернуть лишь часть запрошенных клиентами документов вместо полного пакета подлинных документов, которые она должна была предоставить, и что клиент не смог бы про это узнать. В Platform v0.22 это решается внедрением новых вторичных индексов документов на базе GroveDB. - Обновление контракта данных
Контракты данных задают схемы данных, представляющие собой определённые состояния DApp. В предыдущей версии Platform контракты данных были неизменными, подобно смарт-контрактам в сети Ethereum. Теперь разработчики могут добавлять новые свойства и задавать новые типы документов в уже существующих контрактах. Мы уверены, что эта функция заметно упростит разработку Dapp на базе Dash. - ID мастернод
Чтобы владельцы мастернод были заинтересованы в предоставлении услуг сети Dash, комиссии и вознаграждения за блок будут распределяться между участвующими в работе Платформы нодами (эта функция появится в v0.23). В Platform, ID — это аккаунты с балансом. Чтобы получать выплаты, у каждой мастерноды должен быть ID на Platform. Для ясности, этот ID не должен привязываться к ID пользователя. В новой версии Platform автоматически создаст ID для каждой мастерноды и будет поддерживать их актуальное состояние. Более того, владельцы мастернод смогут легко настроить разделение вознаграждения в блокчейне второго уровня (блокчейне Платформы). В следующей версии Platform мы планируем внедрить распределение вознаграждений и возможность переводить кредиты Platform в платёжные токены Dash с кредитного баланса ID Мастернод. - Назначение ключей ID и уровни безопасности
Помимо балансов, у ID есть асимметричные ключи для доказательства участия в операциях (переходы состояний), проведённых на Dash Platform. Ключи предназначены для аутентификации этих ID. Этим аутентификационным ключам необходимы различные уровни безопасности. Более того, некоторые ключи ID используются для шифрования и дешифрования. Начиная с версии v0.22, ID предоставляют информацию клиентам о том, какие ключи необходимо использовать в том или ином случае, а также какая аутентификация необходима для адекватной защиты имеющихся у них приватных ключей. Этот функционал полностью описан в DIP11. - Коммуникация внутри набора валидаторов
В версии Platform v0.20 команда Tenderdash представила оптимизированный пиринговый слой. В новой версии, чтобы избежать потери сообщений о консенсусе между валидаторами, участники активного набора валидаторов устанавливают между собой прямую связь. Подробности можно посмотреть тут.
Важное примечания для разработчиков: для повышения скорости разработки команда Platform реорганизовала кодовую базу и рабочий процесс над кодом. Большинство компонентов Platform были перенесены в один моно-репозиторий на GitHub.
Мы приглашаем вас посмотреть и принять участие в Обзоре продукта Dash Platform сразу после разворачивания v0.22 в тестовой сети. В обзоре наша команда подведёт итог всех обновлений, представленных в новой версии, и расскажет о новых доступных вариантах использования Платформы.
Что дальше?
Команда Dash Platform готовит последний функциональный релиз перед запуском в основной сети — Platform v0.23, где будет представлена система комиссионных сборов, распределение вознаграждений между мастернодами, вывод кредитов (где пользователи смогут конвертировать свои кредиты в блокчейне Platform в токены основного блокчейна платёжных токенов Dash), а также некоторые улучшения последовательностей обработки данных, производимых в Dash Platform Protocol.
Мы очень благодарны сообществу за его активное участие и глубокую вовлечённость в разработку и тестирование Platform. Благодаря вам тестовая сеть стала намного стабильнее по сравнению с предыдущими версиями.
Подпишитесь на блог Dash и наши страницы в соцсетях (особенно Youtube), чтобы быть в курсе релизов и обновлений. Как обычно, мы с нетерпением ждём и приветствуем ваши идеи, обратную связь и предложения по изменениям.
Примечания к релизу