Релиз Dash Core v0.16.0 (testnet), краткий обзор продукта.

alex-ru

Grizzled Member
Dash Support Group
Jul 14, 2014
2,374
3,242
1,183

Dash Core v0.16 — крупный релиз и обязательное обновление для всех мастернод. Версия 0.16 вводит для Dash ряд улучшений, в том числе оптимизацию производительности, улучшения интерфейса пользовательских кошельков, лучшую стабильность, а также многочисленные улучшения через бэкпорты Bitcoin Core. Рассмотрены несколько ключевых моментов этого релиза (подробные сведения находятся в примечании к релизу).


Основные моменты релиза

Оптимизация подписи кворумов

Нагрузка на кворум в процессе восстановления подписей была значительно снижена. Новая система изначально отправляет фрагменты подписей одной детерминированным образом выбранной ноде, вместо рассылки фрагментов подписей всем нодам, пока не найдётся та, которая сможет восстановить подпись. Если восстановленная подпись не появилась, то спустя одну секунду фрагмент подписи направляется другой детерминированным образом выбранной ноде, и процесс повторяется, пока не появится восстановленная подпись. Таким образом, для верификации нужно распространять между всеми участниками только восстановленную подпись. Ожидается, что с этой оптимизацией нагрузка снизится на несколько порядков. Узнать больше

Улучшение многопоточности сети
Многопоточность сети была оптимизирована за счёт избавления от излишних повторений циклов по всем нодам, с помощью внедрения метода event polling(epoll) в Linux. Эта эффективная система оповещения о событиях снизит нагрузку на socket handler thread практически до нуля. Эта оптимизация коснётся только реализаций на Linux, и особенно эффективно покажет себя на тех мастернодах, которые работают с большим количеством соединений. Узнать больше

Минимальная проверка протокола
Доказательство оказания услуги (PoSe) для мастернод улучшено за счёт проверки минимальной версии протокола. Во время распределённого создания ключей (DKG), мастернода будет проверять, что порт Dash другой мастерноды открыт и принимает соединения. Кроме того, будет проверяться версия протокола, чтобы убедиться, что она выше минимальных требований. Если одно из этих условий не будет выполнено, мастернода-нарушитель будет отмечена как плохой участник кворума. Эта функция активируется спорком 21, когда 60% мастернод обновятся до версии 0.16. Узнать больше

Бэкпорты Bitcoin Core
В этом релизе также вводятся более 650 обновлений от Bitcoin Core v0.16, а также некоторые обновления от BitcoinCore v0.17. Они включают в себя ряд улучшений производительности, динамическую загрузку кошельков через rpc, поддержку сигналов о блокировке нод, а также ряд обновлений, которые оценят пользователи Dash. Мы не включали в бэкпортирование те изменения Bitcoin Core, которые не согласуются с нуждами продуктов Dash, например, SegWit и RBF. Чтобы узнать подробное содержание Bitcoin Core v0.16, посмотрите примечания к их релизу.


Очистка кода

Рефакторинг кода PrivateSend

Код PrivateSend был реорганизован, из него была удалена устаревшая логика, а логика перемешивания была изменена на более простую и в целом дающую лучшую приватность. Раньше раунды перемешивания PrivateSend имели случайное количество участников — от 3 до 5. В v0.16 эта логика изменилась. Количество участников больше не выбирается случайно, а мастернода будет принимать сначала пять участников и снижать их количество до четырёх или трёх, если в момент смешивания будет недостаточно доступной ликвидности.

Улучшение алгоритма создания номиналов в PrivateSend
Алгоритм создания номиналов претерпел значительные улучшения. Ранее во время перемешивания пользователи могли получить слишком много небольших выходов, которые засоряли их кошелёк, или же слишком мало выходов, в результате чего перемешивание не завершалось должным образом. Эта проблема была решена с помощью нового и улучшенного алгоритма, который одновременно гарантирует, что все средства, которые пользователь хочет перемешать, перемешаются, и будет избегать создания слишком большого количества небольших выходов. Узнать больше

Улучшения кошелька Core Wallet
Чтобы улучшить общее впечатление и упростить пользовательский интерфейс кошелька core wallet, были решены многочисленные вопросы. Все графические элементы управления в специальных настройках были приведены к единому стандарту, чтобы они лучше отображались в разных операционных системах и с различными темами. Работа по оптимизации в основном проводилась над вкладками, шрифтами, метками, цветами, подсказками, фокусом и различными элементами управления. Также была введена новая вкладка PrivateSend — чтобы упросить работу с процессом перемешивания транзакций. Эта вкладка будет доступна только с включённым в настройках функционалом PrivateSend.

Дополнительные изменения
Также был произведён ряд других изменений, в том числе обновление команд RPC, настроек командной строки, сообщений об ошибках, а также трассировок стека. Чтобы узнать больше, обратитесь к примечаниям к релизу.

Примечания для партнёров по интеграции
DashCore v0.16 — крупный релиз, обязательный к обновлению лишь для операторов мастернод. Для его активации не нужно никаких консенсусных правил, и он никак не повлияет на майнинговые пулы. Всем партнёрам по интеграции стоит незамедлительно ознакомиться с Кратким описанием продукта и Примечаниями к релизу, чтобы узнать подробности релиза.

Тем не менее, мы настоятельно рекомендуем всем партнёрам обновиться до v0.16, так как этот релиз содержит важные улучшения и оптимизации, которые не будут бэкпортированы в релиз v0.15. Важно проверить совместимость, уделяя повышенное внимание (1) изменениям в RPC, (2) изменениям в настройках командной строки и (3) бэкпортам Bitcoin Core.

Изменения в удалённом вызове процедур (RPC)
Появилась новая RPC-команда, которая работает только для Dash, и три новые команды, введённые через бэкпортирование Bitcoin Core. Кроме того, была удалена одна RPC, GETINFO, которая с версии 0.15 считалась устаревшей. Новые RPC команды: QUORUM SELECTQUORUM, LOADWALLET, RESCANBLOCKCHAIN и SAVEMEMPOOL.

Возможности командной строки
Были внесены некоторые изменения в возможности командной строки, которые относятся к отладке, управлению сетью и перемешиванию. За подробностями обратитесь к примечаниям к релизу.

Бэкпортирование Bitcoin Core
Мы бэкпортировали сотни позиций из Bitcoin Core v0.16, которые теперь включены в DashCore v0.16. Кроме того, были бэкпортированы избранные позиции из Bitcoin Core v0.17+, чтобы решить проблемы с высоким приоритетом.

Первоисточник (ENG)
 
  • Like
Reactions: Balych