DashCore v19.0 Product Brief
DashCore v19.0 is a major release and will be a mandatory upgrade for all masternodes, miners, and users. Version 19.0 introduces a number of features and improvements to Dash, including the BLS scheme migration, high-performance masternode implementation, wallet improvements, and numerous enhancements through Bitcoin backports. Below are a few key highlights of this release. Comprehensive details will be found in the release notes.
In preparation for the release of Dash Platform to mainnet, a new masternode has been added. High-performance masternodes will be responsible for hosting Dash Platform services (once they are on mainnet) and existing features like ChainLocks and InstantSend.
Activation of the DashCore v19.0 hard fork will enable registration of the new 4000 DASH collateral masternodes. Until Dash Platform is released to mainnet, high-performance masternodes will provide the same services as regular masternodes with one small exception. Regular masternodes will no longer participate in the Platform-specific LLMQ after the hard fork since they will not be responsible for hosting Dash Platform.
Note: In DashCore v19.0 the relative rewards and voting power are equivalent between regular and high-performance masternodes. Masternodes effectively receive one payout and one governance vote per 1000 DASH collateral. So, there is no difference in reward amount for running four regular masternodes or one high-performance masternode. In v19.0, high-performance masternodes simply receive payments in four consecutive blocks when they are selected for payout. Some frequently asked questions may be found at https://www.dash.org/hpmn-faq/.
BLS scheme migration
DashCore’s default BLS scheme has been changed to better align with standards and improve security. This is the continuation of an effort that started in a previous release. Upon activation of DashCore v19’s hard fork, the network will transition to using the BLS basic scheme rather than the previously used “legacy” scheme. As a result, BLS public keys and signatures in network messages, special transactions, etc. will be serialized using the new scheme.
Several wallet modifications have been included in this release. Dash Core will no longer automatically create new wallets on startup. It will load existing wallets specified by `-wallet` options on the command line or in `dash.conf` or `settings.json` files. And by default it will also load a top-level unnamed (“”) wallet. However, if specified wallets don’t exist, Dash Core will now just log warnings instead of creating new wallets with new keys and addresses like previous releases did.
New wallets can be created through the GUI (which has a more prominent create wallet option), through the `dash-wallet create` command, or the `createwallet` RPC.
Transactions that appear “stuck” will now be re-sent after one hour on average rather than the extended 24 hour delay that was previously in place. The lack of congestion on the Dash network allowed reducing the timeframe without performance concerns.
A minor update in several CoinJoin-related network messages improves support for mixing from SPV clients. These changes make it easier for SPV clients to participate in the CoinJoin process by using masternode information they can readily obtain and verify via DIP4.
Reject message removal (BIP61)
The reject network message was previously deprecated, but has been removed entirely in DashCore v19.0. In the past some clients used these messages to detect things like accidental double-spends among other things. This change was backported from Bitcoin which removed support for reject messages several versions ago.
Integration Partner Notes
DashCore v19.0 is a mandatory update due to updates to the masternode system and changes to the BLS scheme related to signature and public key serialization. Once the release is available in the coming days, all integration partners should immediately review the Release Notes to become familiar with the details of the release and begin the update process.
In addition to the hard fork which will occur with v19.0, there are important fixes and optimizations which will not be backported to v18.0. 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
DashCore v19.0 introduces eight new Dash-specific RPC commands. The new RPCs are all related to masternode management: protx register_legacy, protx register_fund_legacy, protx register_prepare_legacy, protx update_registrar_legacy, protx register_hpmn, protx register_fund_hpmn, protx register_prepare_hpmn, and protx update_service_hpmn.
No RPCs have been removed in this release.
A number of command-line option changes were made related to testing and removal of BIP61 support. For additional detail on these please refer to the release notes.
We have backported hundreds of items from Bitcoin v0.19-v0.21 which are included in DashCore v19.0. In addition, select items have been backported from Bitcoin v22.0 and v23.0.
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.