DashCore v0.16 is a major release and will be a mandatory upgrade for all masternodes. Version 0.16 introduces a number of improvements to Dash, including performance optimizations, wallet user interface enhancements, greater stability, and numerous enhancements through Bitcoin backports. Below are a few key highlights of this release. Comprehensive details can be found in the release notes.
Quorum Signing Optimizations
Quorum load has been significantly reduced when recovering signatures. The new system initially sends signature shares to a single deterministically selected node, instead of propagating signature shares to every node until one has enough to recover the signature. After one second, if the recovered signature has not appeared, the signature share is sent to another deterministically selected node and this process repeats until a recovered signature is present. This way only the recovered signature needs to be propagated and verified by all members. This optimization is expected to reduce the load by several orders of magnitude. Read more
Network Threading Improvement
Network threading has been optimized by eliminating unnecessary repetition of loops through all nodes by implementing event polling (epoll) on Linux. This efficient event notification system will reduce the overhead of the socket handler thread to nearly nothing. This optimization only impacts linux implementations and is specifically impactful for masternodes which handle a large number of connections. Read more
Minimum Protocol Check
Proof of Service (PoSe) for Masternodes is enhanced by ensuring a minimum protocol version is running. During the distributed key generation (DKG) process, a masternode will verify that the Dash port of other masternodes is open and accepting connections. In addition, the protocol version will be checked to ensure it is above the minimum required version. If either of these conditions are not met, the offending masternode will be flagged as a bad quorum member. This feature will be activated by spork 21 once 60% of the masternodes have upgraded to version 0.16. Read more
This release also introduces over 650 updates from Bitcoin v0.16 as well as some updates from Bitcoin v0.17. This includes a number of performance improvements, dynamic loading of wallets via rpc, support for signalling pruned nodes, and a number of other updates that Dash users will benefit from. Bitcoin changes that do not align with Dash’s product needs, such as SegWit and RBF, are excluded from our backporting. For additional detail on what’s included in Bitcoin v0.16, please refer to their release notes.
PrivateSend Code Refactoring
PrivateSend code has been refactored, removing outdated logic, and changing mixing logic to be simpler and on average provide better privacy. PrivateSend mixing rounds used to have a random number of participants between three and five. In v0.16, this logic has changed. It is no longer random, but instead, a masternode will accept up to five participants and will fall back to using three or four participants if there isn’t enough liquidity at that moment.
PrivateSend Create Denominations Improvement
The create denominations algorithm has been significantly improved. Previously, users when mixing would either end up with too many tiny outputs, effectively clogging their wallet, or too few outputs, resulting in mixing not completing. This has been resolved with a new and improved algorithm which both ensures that all funds that the user wants to have mixed are mixed, while also avoiding creating too many small outputs. Read more
Core Wallet Enhancements
Numerous issues have been resolved to improve the overall consistency and cleanliness of the user interface of the core wallet. All of the graphic controls have been standardized into a custom configuration for proper display across operating systems and within different themes. Clean-up work has been focused on tabs, fonts, labels, colors, hover mode, focus and various controls. A new PrivateSend tab has also been introduced to simplify the experience when dealing with mixing transactions. This tab will only be enabled when PrivateSend functionality is enabled within the configuration settings.
A number of other changes were made including updates to RPC commands, command-line options, crash reports, and stack traces. For additional detail on these please refer to the release notes, when available.
Integration Partner Notes
DashCore v0.16 is a major release, but is only a mandatory update if you are running a masternode. There are no new consensus rules to activate and it should not have any impact on mining pools. All integration partners should immediately review the Product Brief and Release Notes to become familiar with the details of the release.
We do recommend all partners update to v0.16 as there are important fixes and optimizations which will not be backported to v0.15. It is important to verify compatibility with particular attention to 1) changes to RPCs, 2) changes to command-line options, and 3) Bitcoin backports.
Remote Procedure Call (RPC) Changes
There is one new RPC command which is Dash specific and three new RPC commands introduced through Bitcoin backports. In addition, one RPC, GETINFO, was removed and has been deprecated since version 0.15. The new RPC commands are: QUORUM SELECTQUORUM, LOADWALLET, RESCANBLOCKCHAIN, and SAVEMEMPOOL.
A number of command-line option changes were made related to debugging, network management, and mixing. For additional detail on these please refer to the release notes.
We have backported hundreds of items from Bitcoin v0.16 which are included in DashCore v0.16. In addition, select items have been backported from Bitcoin v0.17+ to remedy high priority issues.
What is Dash?
Dash is a global payments network with its own cryptocurrency offering businesses and individuals instant payments for less than a cent per transaction. Our goal is to provide users with a better way to pay and get paid. Dash Core Group is in the process of rolling out a series of upgrades to our system dubbed “Evolution” to make Dash the most user-friendly blockchain-based payment network in the world.
Author: Bob Carroll
Original link: https://blog.dash.org/product-brief-dash-core-release-v0-16-0-now-on-testnet-55c7ac5ff768