4 января 2021

Релиз Dash Platform v0.17 и DashPay в тестовой сети

Dash Core Group (DCG) рады представить релиз Dash Platform v0.17 для тестовой сети. После успешного развёртывания в тестовой сети вскоре также будет выпущена новая версия кошелька DashPay на Android и iOS для пользователей, участвующих в альфа-тестировании DashPay. Это флагманское приложение демонстрирует возможности Dash Platform по обеспечению работы инновационных криптовалютных приложений, которые по пользовательскому опыту практически неотличимы от централизованных решений. Этот пользовательский опыт обеспечивается децентрализованным хранением данных приложений (альтернатива Amazon Web Services или Google Cloud Platform), где данные пользователей находятся в безопасности и не монетизируются с помощью рекламы.

Тестовая сеть — это наиболее формальная среда для тестирования сети Dash, критически важный этап на пути к работе в основной сети. Релиз в тестовой сети важен, потому что эта среда почти в пять раз больше, чем Evonet, что открывает лучшие возможности для тестирования платформы в большом масштабе. Это самое крупное развёртывание Dash Platform и, следовательно, этот релиз является одним из наиболее важных этапов в реализации того, как Dash видит массовое внедрение в долгосрочной перспективе.

Этот релиз стал возможен благодаря неустанным усилиям разработчиков DCG и волонтёров из сообщества, которые давали важную обратную связь для улучшения основного функционала и предлагали возможные варианты использования. Несмотря на всемирную пандемию, нарушившую работу многих организаций, различные команды DCG, поддерживающие этот релиз, смогли двигаться дальше и представить самое большое обновление в истории сети Dash.

На момент публикации, сама Evonet не была обновлена до Dash Platform v0.17, поэтому разработчикам не понадобится сохранять данные в преддверии очищения сети. DCG не планирует немедленно обновлять Evonet до v0.17. Это сделано для того, чтобы мы могли лучше сосредоточиться на выпуске оставшихся функций, необходимых для релиза в основной сети. Планы, касающиеся дальнейшей судьбы Evonet, будут опубликованы позднее в отдельном посте. 

 

Ключевые моменты релиза

Ниже приведено описание наиболее важного функционала, включённого в релиз v0.17. Помимо работы, касающейся основной интеграции и развёртывания, это описание отражает большую часть нашей работы с момента релиза v0.16. Также значительный прогресс был достигнут в работе, описанной в разделе Будущие релизы, который представлен далее.

  • Консенсус по высоте ядра блокчейна Platform Chain: важный компонент платформы — способность синхронизировать высоту блокчейна Core с другими нодами сети. Работа Dash Platform зависит от Core и активно использует его во время процесса генерации блоков платформу. Важно также упомянуть, что блокчейны платформы и Core работают асинхронно. Из-за этого консенсус по высоте ядра гарантирует, что все ноды будут использовать одно и то же состояние Core в любой момент, таким образом обеспечивая детерминизм в процессе генерации блоков. Например, для подтверждения перехода состояний Блокчейн-ID требуется верификация фиксирования InstantSend от Core. Без синхронизации между платформой и Core, ноды могли бы получать различные результаты верификации, что могло бы привести к отсутствию детерминизма в процессе генерации блоков и остановке работы блокчейна платформы. 
  • Пополнение Блокчейн-ID с помощью InstantSend: теперь пользователи Platform смогут безопасно вносить средства на свои Блокчейн-ID, используя скорость InstantSend. С таким функционалом обмен Dash на кредиты для дальнейшей оплаты хранения данных становится простым и быстрым. Он также устраняет известную уязвимость, когда пользователи могли создавать кредиты бесконечно. Очевидно, что устранение этой уязвимости было жёстким условием для того, чтобы платформа попала в тестовую сеть, и теперь платформа даёт тот основополагающий пользовательский опыт, который пользователи могут ожидать после релиза платформы в основной сети. 
  • Рефакторинг состояния платформы в деревья Меркла: поскольку наша работа заключается в том числе, чтобы предоставить серверную поддержку для лёгких клиентов, глобальное состояние данных платформы (например, состояние платформы) подверглось рефакторингу, и теперь данные располагаются в хранилище в формате “ключ-значение” со встроенным деревом Меркла. Это сделано для того, чтобы предоставлять криптографические доказательства достоверности данных для лёгких клиентов. Завершение этой работы является важным шагом на пути к предоставлению полной поддержки лёгким клиентам, которая будет представлена в будущем релизе v18. 
  • Обновления в установочном пакете Platform: установочный пакет был значительно обновлён для улучшения пользовательского опыта и соответствия новым компонентам платформы. Впоследствии владельцам мастернод (MNOs) будет необходимо установить у себя платформу Dash Platform, чтобы продолжать получать платежи, что обеспечивается Доказательством оказания услуги (PoSe). DCG постарался оптимизировать установку за счёт использования установочного пакета, таким образом владельцам мастернод станет проще обновить свои ноды до последних версий Core и Dash Platform.

 

Компромиссы и известные проблемы

Чтобы выпустить этот релиз в соответствии с обещанным графиком, менеджмент DCG пересмотрел приоритеты различных функций и позволил остаться некритичным ошибкам. В предстоящие недели мы будем исправлять эти ошибки и работать над оставшимся функционалом, необходимым для основной сети. Вот некоторые заслуживающие внимания компромиссы и известные проблемы, с которыми могут столкнуться пользователи тестовой сети:

  • Предустановленный набор валидаторов: наборы валидаторов — это часто встречающийся компонент блокчейнов с доказательством владения, и они используются, как следует из названия, для подтверждения транзакций. В Dash Platform наборы валидаторов используются для подтверждения переходов состояний, в идеале с пороговой подписью, созданной LLMQs (подробное описание — в разделе Будущие релизы). Из-за ограничений по времени, набор валидаторов цепочки платформы будет временно предустановлен в тестовой сети, так же, как он работал в Evonet. Это означает, что пока только ноды DCG будут обеспечивать консенсус на Platform Chain. Ротация полного набора валидаторов будет внедрена как часть релиза v0.18, таким образом гарантируя полную децентрализацию и безопасность платформы. 
  • Внесение средств на Блокчейн-ID с механизмом ChainLocks: чтобы внести средства на Блокчейн-ID, платформе необходимо получить доказательство, что транзакция пополнения зафиксирована. Это доказательство может быть в двух видах: транзакция фиксируется либо InstantSend, либо ChainLocks. На данный момент, платформа проверяет только доказательство InstantSend. Последствия таковы, что в некоторых случаях создание и пополнение Блокчейн-ID в тестовой сети может завершиться неудачно. Доказательство ChainLock о фиксации транзакций будет добавлено в релизе Dash Platform v0.18, гарантируя, что транзакции по внесению средств на Блокчейн-ID будут мгновенны и подтверждены для основной сети. 
  • Отсутствие криптографических доказательств для проверки данных в лёгких клиентах: лёгким клиентам не отправляется никаких криптографических доказательств, следовательно, лёгкие клиенты не могут подтвердить достоверность поступающей от платформы информации. Добавление этого функционала будет одним из приоритетов релиза v0.18. Хотя лёгкие клиенты по-прежнему могут отправлять запросы на платформу, сейчас такое положение дел подразумевает доверенные взаимоотношения с предустановленным набором нод. Если пользователи заинтересованы в безопасном обмене данными с платформой, тогда они должны пока установить собственную локальную полную ноду и отправлять запросы на неё. 
  • Нет поддержки лёгких клиентов в Javascript SDK: один из важнейших компромиссов, на который пришлось пойти для быстрого релиза в основной сети — пересмотр приоритетов поддержки лёгких клиентов в Javascript SDK. Это означает, что веб-приложения не получат тех же преимуществ “SPV для данных платформы”, которые будут у мобильных приложений. Последствия такого решения допустимы в краткосрочном периоде, то есть, веб-приложения не смогут гарантировать аутентичность своих данных, пока они также не запустят полную ноду у себя на сервере. DCG не планирует включать поддержку лёгких клиентов в Javascript SDK в первый релиз платформы в основной сети, но это остаётся одной из первоочередных задач и будет включено во второй релиз в основной сети. 
  • Медленные операции с кошельками в SDK: в тестовой сети по сравнению с Evonet находится значительно больше блоков (~500,000). Сейчас Javascript SDK не кеширует какую-либо информацию из кошельков, следовательно, при любом запросе операции в кошельке (например, client.getWalletAccount()) он повторно синхронизируется со всей цепочкой Core. В результате появляется время ожидания около 5 минут, которое является очевидным минусом для пользовательского опыта. В следующем месяце мы будем работать над решением этой проблемы, чтобы обеспечить постоянное локальное хранение информации.

 

Будущий релиз

После того, как Dash Platform v0.17 будет развёрнута в тестовой сети, сразу же последуют следующие шаги с новым релизом (v0.18), в котором появится поддержка криптографического подтверждения данных при обмене между лёгкими клиентами и Dash Platform. Этот функционал предоставит некоторые наиболее важные недостающие элементы для безопасной работы с платформой приложений на Android и iOS. Это включает, в том числе, серверную часть поддержки работы лёгких клиентов, ротацию набора валидаторов, и пороговые подписи с LLMQs. Эта работа уже близка к завершению, поэтому мы уверены, что ещё один релиз состоится где-то в конце января или в феврале 2021.

  • Поддержка на стороне сервера (например, криптографических доказательств) для лёгких клиентов: обмен данными с лёгкими клиентами (то есть, мобильными и веб-приложениями), представляет собой те же трудности, с которыми сталкиваются криптовалютные сети, когда пытаются верифицировать данные транзакций. Чтобы доказать, что данные транзакций не были подделаны, была введена упрощённая верификация платежей (SPV). Нами будет представлен похожий функционал для серверной части Dash Platform, чтобы лёгкие клиенты, и прежде всего — DashPay, получили гарантию достоверности и надёжности пользовательских данных, которые хранятся и извлекаются из платформы. 
  • Пороговые подписи с использованием LLMQs: Platform использует долгосрочные кворумы мастернод (LLMQs) чтобы подтвердить состояние любых данных, которые вносятся на платформу. Для тех, кто не знаком с LLMQs: эти кворумы были масштабируемым улучшением сети Dash, представленным в сентябре 2018 года. Это группа мастернод, которая выступает в качестве кворума и голосует за валидность поступающих в сеть данных, с помощью пороговой BLS подписи M-из-N. По окончанию голосования, к хранящемуся на платформе переходу состояния добавляется одна BLS-подпись, гарантирующая достоверность этих данных. 
  • Ротация набора валидаторов: сейчас набор валидаторов блокчейна платформы в тестовой сети является предустановленным, что недопустимо для основной сети. Если набор валидаторов останется статичным, тогда злоумышленники смогут поставить под удар ноды, которые формируют группу валидаторов, и вмешиваться в процесс валидации, и таким образом вызывать сомнения в достоверности данных, поступающих на платформу. Соответственно, мы разработали средства для ротации наборов валидаторов на основании изменения кворумов в Core, что будет обеспечивать важную защиту безопасности. 

 

Заключение

В следующем месяце DCG предоставит подробные планы по дорожной карте релиза в основной сети, а также информацию по графику релизов к конференц-связи по итогам 4-ого квартала 2020. Во время неё мы обсудим оставшуюся необходимую для работы Платформы в основной сети работу, а также примерные оценки того, когда, по нашему мнению, эта работа будет завершена. Все в нашей организации с нетерпением предвкушают следующие несколько месяцев. Мы уверены, что технология, которую мы создаём, представляет важный шаг на пути к реализации нашей миссии. Со временем, Dash Platform станет доступна разработчикам и бизнесам, которые будут предоставлять финансовые решения — безопасные, надёжные, децентрализованные и удобные для всех.

В завершение, хотелось бы искренне поблагодарить разработчиков DCG, которые последний месяц работали сверхурочно, чтобы завершить этот релиз. Проведение линии компромисса между тем, что должно быть и что не должно быть включено в какой-либо релиз — невероятно трудная задача, одна из тех, что требует дополнительных переговоров о качестве, масштабе и ожиданиях. Я могу с уверенностью сказать, что разработчики DCG постоянно сохраняют ориентир на высокий уровень пользовательского опыта и безопасности во время планирования и исполнения. Представлять результаты их упорной работы — честь для меня.

После заслуженного перерыва на отдых и празднование Нового года и православного Рождества, мы продолжим выпускать новый функционал с той же планкой по качеству, прозрачности и пользовательскому опыту, которая определяла нашу работу весь последний год. Как и всегда, DCG приветствует и ценит любую обратную связь, и мы желаем всем нашим читателям счастливого нового года. 

 

Примечания к релизу

 

Первоисточник: https://blog.dash.org/release-announcement-dash-platform-v0-17-dashpay-on-testnet-13a85225902e