Миграционный Комитет #12

Данная статья подготовлена, для нашего сообщества NEM, от имени рабочей группы по процессу миграции Symbol, в которую входят, такие организации как: 

Фонд NEM, в состав которого входит: Александра Тинсман “Alexandra Tinsman”, Грег Сэйв “Greg Saive”, Джефф Макдональд “Jeff McDonald”.

NEM Studios: Кайлин Одоннелл “Kailin Odonnell”, Дэвид Мэнселл “David Mansell”, Виктор Руциттио “Victor Ruscittio”.

NEM Ventures: Иэн Уилсон “Iain Wilson”, Дейв Ходжсон “Dave Hodgson”.

Финтех компания Tech Bureau Holdings: Нейт Д’Амико “Nate D’Amico”.

 

Технический Обзор Проекта

В последние несколько недель, наша техническая команда работала над релизом v. 0.9.3.1. 

В данном релизе окончательное обновление релиз — кандидата.

Хотя данные обновления являются незначительными, но тем не менее, окажут существенное влияние на некоторые компоненты. Это будет включать процесс миграции опт-ин “подписки” ( NIS1 на NIS2 — Symbol).

Спасибо, тем кто помогал, в тестировании различных программных компонентов и спасибо тем кто заинтересован в дальнейшем тестировании. Мы призываем Вас присоединиться к корпоративному мессенджеру Slack.

Сайт Центра Разработчиков: https://nemtech.github.io.

Наиболее популярные каналы в корпоративном мессенджере Slack, которые связанны с тестированием это:

  • #help
  • #sig-testing

Релиз обновления 0.9.3.1

Сервер

Релиз под номером v.0.9.3.1 также включает в себя 2 основополагающих технических изменения, по сравнению с предыдущими версиями сервера и набора средств разработки (sdk):

  • NIP#9: Новая транзакция запроса постоянного делегирования (LINK): 

Команда Пентест (Тестирование на проникновение) выявила потенциальные проблемы в постоянном запросе на делегирование и функции формирования ключа, поэтому были предоставлены рекомендации, для их устранения. 

  • NIP#10: Symbol — Генерация пары ключей и формат адреса (LINK): 

Программное обновление Symbol, использует схему цифровой подписи Ed25519. Edwards-curve Digital Signature Algorithm (EdDSA) – схема цифровой подписи использующая вариант схемы Шнора основанной на эллиптической кривой Эдвардса.

Также были внесены изменения в алгоритм генерации пары ключей и формат адреса. Данные изменения позволяют использовать схему подписи EdDSA (SHA-512) — “алгоритм хеширования”, вместо предыдущих алгоритмов хеширования Keccak – SHA-3. Одной из основных особенностей этого изменения является то, что пары ключей будут генерироваться с использованием OpenSSL, полноценной криптографической библиотекой с открытым исходным кодом, широко известной из-за своего расширения SSL/TLS.

ПРИМЕЧАНИЕ: Данное обновление является важным и значительным изменением, между предыдущими версиями. В этом релизе представлена обновленная версия тестовой сети.

Десктопная Версия Кошелька (Desktop Wallet)

Команда по работе с десктопной версией кошелька, работает над улучшением и проверкой программного кода. Это связано с тем чтобы (Desktop Wallet) имел более широкий спектр тестирования, включая внешнюю проверку, через компанию Hackerone. Эта работа также выполняется параллельно с первоначальной работой по ребрендингу продукта Symbol.

Некоторые изменения, над которыми мы работали в последнее время:

Унификация процедуры разблокировки аккаунта (#911): В десктопной версии кошелька использовался неправильный и небезопасный подход к проверке пароля. Теперь данный метод проверки пароля улучшен,что позволяет использование стандартных мер безопасности паролей.

Унификация создания подписи транзакции (#923): Пересмотр исходного кода, для десктопного кошелька включает обработку процесса подписи, которая лучше приспособлена для работы с протоколом Symbol.

Переписывание ядра софтвер обеспечения десктопной версии кошелька (#911): Для апдейта и стабильности мы добавили в десктопный кошелек NemWallet структурированное программное ядро Vuex.

Мобильный Кошелек

Проект мобильного кошелька имеет бета-версию, для внутреннего тестирования на операционных системах Android и iOS. Окончательное завершение тестирования будет через несколько недель, что позволит применить самые последние наработки, отражающие брендинг Symbol. В ближайшее время мы опубликуем детальный релиз для тех, кто заинтересован в тестировании.

Для тех, кто заинтересован тестировании мобильного кошелька через Android / iOS, Вы можете зарегистрироваться здесь:

https://forms.gle/M1VPotSScRuX8D9j7

Работа с мобильным кошельком связана с применением библиотеки опт-ин (подписки), которая была написана, для десктопного кошелька NemWallet и включает ту же библиотеку и функциональность в мобильный кошелек. По мере готовности функционала мобильного кошелька мы сразу же объявим об этом.

Блокчейн Эксплорер

Обозреватель блоков (Блокчейн Эксплорер), является распределенной базой данных.

Данный Блокчейн Эксплорер продолжает обновляться. Особое внимание было уделено ребрендингу и разработке дизайна Symbol до последней версии.

Изменения которые были произведены:

  • Невозможность отображения детали транзакции:  #308: Потому что транзакция была отправлена с использованием псевдонима (пространства имен), вместо идентификатора ( id ) мозаики, и блокчейн эксплорер не может обнаружить ее:

https://nem2.slack.com/archives/GLK87TKM4/p1581193788037000

  • Пагинация не работает должным образом в списке пространств имен и мозаик #322: Потому что запросы принимают неправильное пространство имен или идентификатор мозаики.
  • Серчбокс (Поисковая строка) имеет поддержку псевдонимов #304: теперь вы можете искать псевдонимы в блокчейн проводнике, через серчбокс.

Некоторые заметные улучшения:

  • Реализация рестрикции мозаики и аккаунта рестрикции: #262 #261
  • Имплементация просмотра данных хеш-деревом, деревом Меркла на блоке: #324

Набор Средств Разработки (SDK)

NEM2-SDK 0.17.0 (основная / дополнительная) версия были опубликованы, для учета изменений в версии  v0.9.3.1. Помимо обновлений, связанных с NIP9 и NIP10, команда также рассмотрела следующие вопросы:

  • Улучшение тестовой базы кода с помощью Async/Await позволяет писать асинхронный код синхронно, не блокируя стек вызовов.
  • Обновлена сгенерированная библиотека клиентского кода, до последней версии 0.8.3. Это позволяет разделять конечные точки хранения данных узла и сервера от диагностического маршрута и до корневого узла.
  • Серверный патч NIP10 (Генерация пары ключей и формат адреса) был разработан для Typescript SDK:

https://github.com/nemtech/nem2-sdk-typescript-javascript/pull/445

Примечание: как упоминалось выше, серверный патч NIP 10 (Генерация пары ключей и формат адреса) будет применен только к Набору Средств Разработки (SDK), любой предыдущий ключ или версия не будут совместима.

Интерфейс командной строки (CLI)

Недавно было обновление 0.17.1 NEM2-CLI — интерфейса командной строки. 

Ниже приведены некоторые заметные улучшения:

Рестрикция мозаики и команды метаданных: 

С помощью этих новых команд мы можем сказать, что инструмент интерфейса командной строки (CLI), поддерживает выдачу всех типов транзакций (кроме пользовательских агрегированных транзакций).

Постоянные запросы на делегирование:

Делегируйте важность ноды с помощью командной строки, используя данное руководство.

Предварительный просмотр транзакций: Вы можете просматривать все свойства транзакции в удобочитаемом формате. Также Вы можете использовать интерфейс командной строки (CLI), для отладки любой транзакции с ее полезной нагрузкой. 

P.S: Список проверенных транзакций, является базовым элементом структуры блокчейна. Состоит из двух частей — заголовка (Head) и полезной нагрузки (Payload)  —  собственно записи транзакций. 

Чтобы загрузить последнюю версию интерфейса командной строки (CLI), запустите в своем терминале следующую команду: npm install -g nem2-cli @ latest. Не забудьте сделать резервную копию и удалить файл ~ \.nem2rc.json перед установкой любой версии> 0.16.x.

Тестовая Сеть

В релиз сервера v.0.9.3.1,были внесены некоторые критические изменения, поэтому тестовая сеть обновлена.

Как и в предыдущих обновлениях, мы стремимся сводить к минимуму программные сбои. Мы создали новую тестовую сеть с версией v.0.9.3.1 и поэтому начнем переходить от устаревшей сети 0.9.2.1 в ближайшие недели.

Примечание: Устаревшая версия сети v 0.9.1.1, её конечные ноды будут отключены.

Те кто тестирует сеть, с запущенными тестовыми узлами, процесс апдейта будет таким же как и ранее. Для этого Вам необходимо остановить запущенные службы, удалить имеющуюся версию и загрузить последнюю версию тестовой сети, а затем запустить ее. После запуска будут запущены те же сервисы, что и раньше, и начнется синхронизация с новой сетью. Обновление будет опубликовано после обновления сетевых тестовых инструментов 0.9.3.1.

Обновления Связанные с Брендингом Symbol

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

https://github.com/nemtech/NIP/issues/38

NIS1 -> NIS2 (Symbol Сеть) с Помощью Опт-Ин (Подписки)

Продолжаются работы по разработке и тестированию, связанные с дополнительным программным обеспечением / инструментами. Также сейчас проводится не только фронтенд тестирование, но и применяется бекенд тестирование в версии v0.9.3.1. Во время запуска версии 0.9.3.1 потребуется еще несколько недель, для тестирования, прежде чем убедиться в стабильности тестовой сети.

Как уже упоминалось выше, ведется работа по включению возможности опт-ин (подписки), через мобильный кошелек. 

Примечание: с обновлением версии v0.9.3.1, процесс подписки заставит вас сгенерировать новый ключ для использования в сети Symbol. Мы рекомендуем перенести генерацию всех пользовательских ключей, на использование мнемонических фраз по умолчанию (стиль BIP32).

Также если Вы пройдете регистрацию, через кошелек nem-wallet в сети NIS1, вы сможете экспортировать свой аккаунт и импортировать приватный ключ в сеть Symbol, без особых усилий.

Примечания к Предложению по Улучшению

NIP#6: Многоуровневая Иерархия для Детерминированных Кошельков

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

Кстати несколько изменений было внесено в документ NIP#6 с момента публикации данного документа.

 

https://forum.nem.io/t/migration-committee-community-update-12/24459