DashCore v18.0 Product Brief
DashCore v18.0 is a major release and will be a mandatory upgrade for all masternodes, miners, and users. Version 18.0 introduces a number of improvements to Dash, including governance updates, quorum improvements, InstantSend optimizations, and numerous enhancements through Bitcoin backports. Below are a few key highlights of this release. Comprehensive details will be found in the release notes.
Several improvements have been made to Dash’s DAO governance system. The governance proposal fee has been reduced from 5 Dash to 1 Dash following a vote by masternode owners to do so. For improved security and flexibility, proposal payouts to pay-to-script-hash (P2SH) addresses will now be supported. These changes are activated via the DIP0024 hard fork. Additionally, the Dash Core wallet GUI now includes an optional Governance tab for viewing proposal details.
Deterministically verifying InstantSend locks at any point in the future has been added to support Dash Platform. This update introduces versioning to InstantSend messages and adds quorum information to them. While the previous design was sufficient for core chain payments, the platform chain will benefit from this enhanced verification capability. Details about deterministic InstantSend are provided in DIP-22. Deterministic InstantSend will be activated with the DIP0024 hard fork.
Initial Enhanced Hard Fork support
The masternode hard fork signal special transaction has been added as the first step in enabling an improved hard fork mechanism. This enhancement enables future hard forks to be activated quickly and safely without any “race conditions” if miners and masternodes update at significantly different speeds. Effectively there will be a masternode signal on chain in addition to the miner one to ensure smooth transitions. Details of the enhanced hard fork system are provided in DIP-23.
Quorums have been updated to improve security and performance. This change includes both an increase in the number of InstantSend quorums and a new algorithm for establishing quorums. Combined these changes will better distribute the load across masternodes and increase security from the perspective of Dash Platform.
This release also introduces over 1000 updates from Bitcoin v0.18/v0.19/v0.20 as well as numerous updates from Bitcoin v0.21 and more recent versions. This includes multi-wallet support in the GUI, support for partially signed transactions (PSBT), Tor version 3 support, and a number of other updates that will benefit Dash users. 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, please refer to their release notes – v0.18, v0.19, v0.20.
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 v18.0 is a mandatory update due to updates to long living masternode quorums system, changes to the governance system, deterministic InstantSend, and groundwork for an enhanced hard fork activation mechanism. All integration partners should immediately review the Product Brief and 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 v18.0, there are important fixes and optimizations which will not be backported to v0.17. 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 eighteen new RPC commands introduced through Bitcoin backports. Eight previously deprecated RPCs were removed.
The new RPCs are: combinepsbt, converttopsbt, createpsbt, decodepsbt, deriveaddresses, finalizepsbt, getblockfilter, getdescriptorinfo, getnodeaddresses, getrpcinfo, joinpsbts, listwalletdir, quorum rotationinfo, scantxoutset, submitheader, testmempoolaccept, utxoupdatepsbt, walletcreatefundedpsbt, and walletprocesspsbt,.
With the exception of getinfo, the removed RPCs are cleanup related to the deprecation of wallet accounts in DashCore v0.17.The removed RPCs are: getreceivedbyaccount, listaccounts, listreceivedbyaccount, move, sendfrom, estimatefee, getinfo, and signrawtransaction.
A number of command-line option changes were made related to debugging, network management, and transactions. For additional detail on these please refer to the release notes.
We have backported hundreds of items from Bitcoin v0.18-v0.21 which are included in DashCore v18.0. In addition, select items have been backported from Bitcoin v0.22.
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.