February 19, 2020 5:51 pm

Product Brief: Dash Core Release v0.15.0

Dash Core v0.15 introduces a number of improvements to Dash, including updates to the desktop wallet to improve the user experience, mempool improvements for syncing new nodes, improvements to PrivateSend to improve the mixing process, and a significant number of backports to keep Dash up to date with Bitcoin v0.15. Below are a few key highlights of this release. Comprehensive details can be found in the release notes.

Release Highlights

DashQT UI Improvements

Several changes were made to significantly improve the performance of the desktop wallet, particularly for those with very long transaction histories. In addition, the UI was refreshed to reflect the new branding guidelines to unify it with other products. All old themes except for the “Traditional” one were removed, and a new “Dark” theme will now be available. Additional options for filtering and sorting masternode lists were added and the content in the “Send” popup dialog was updated to be clearer and provide more information about transactions.

Mempool Syncing Improvements

This release will make some improvements to the mempool syncing process. Every time someone starts up a node, the node has to “catch up” to the latest status of the unconfirmed transactions in the mempool so it can detect potential double-spends (e.g. when someone attempts to spend the inputs of a transaction more than once). This process is called “mempool syncing.” Previously, when a node went offline and then restarted, its mempool would be in the same state as when it shut down — meaning it would not reflect any transactions that occurred while the node was offline. With this new version, nodes will now always try to sync their mempool from other peers on the network by exchanging p2p messages with each other. That said, users can disable this new feature if they wish.

PrivateSend Improvements

It has been possible to run a node without storing the entire blockchain, although many Dash specific features were disabled. This “Lite Mode” prevented popular features such as PrivateSend. This release decouples client-side mixing from “Lite Mode,” making it possible to mix on a pruned node. Please see the release notes for specific instructions on PrivateSend mixing going forward.

In addition, the “Liquidity Provider” mode (designed to support high mixing volume) was removed, as it is no longer needed with the introduction of the new InstantSend system which sped up mixing significantly.

Bitcoin v0.15 Backports

This release also introduced a number of updates from Bitcoin v0.15. This included multiple performance improvements, more accurate fee estimates, basic multi-wallet support, and a number of other updates that Dash users will benefit from. Generally, the team only excludes backports that do not align with Dash’s product needs, such as SegWit and RBF related changes. For additional detail on what’s included in Bitcoin v0.15, please refer to their release notes.

Code Cleanup

Removal of P2P Alert System

The p2p alert system was originally implemented to allow someone holding “alert keys” to notify all Dash nodes in the event of several network issues. This feature was never used and was also deemed a potential central point of failure, making it inconsistent with the core principles of decentralized systems.

Removal of Legacy InstantSend System

Dash Core v0.15 will fully remove the legacy InstantSend system, which was replaced by the new Long Living Masternode Quorum-based system implemented in Dash Core v0.14. Legacy InstantSend had been available up until this point to allow for a smooth transition, but given the success and adoption of the new system we believe it is safe to completely remove the legacy system with this version.

Removal of Unnecessary Sporks

Sporks are mechanisms that allow the team to safely deploy new Dash features without the risk of forking the network. The introduction of Long Living Masternode Quorums and ChainLocks as part of Dash Core v0.14 removed the need for two sporks related to the legacy InstantSend system (sporks 5 and 12), so these will be removed. In addition, three sporks that were only needed for the DIP activation processes in v0.14 will be removed, as they no longer have any code logic behind them.

Additional Changes

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.

Integration Partner Notes

Dash Core v0.15 is a major release, but not a mandatory update. 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 recommend all partners update to v0.15 as there are important fixes and optimizations which will not be backported to v0.14. It is important to verify compatibility with particular attention to 1) changes to RPCs, 2) changes to command-line options, and 3) Bitcoin backports.

RPC Changes

There are three new RPC commands which are Dash specific and seven new RPC commands introduced through Bitcoin backports. In addition, one RPC (getpoolinfo) was deprecated and various InstantSend options for other RPCs were deprecated. Some RPC error codes have also been corrected.

Command-line Options

We have introduced three new command-line options and removed four. The four command-line options which are no longer supported are: alerts, masternode, liquidityprovider, and enableinstantsend.

Bitcoin Backports

We have backported hundreds of items from Bitcoin v0.15 which are included in Dash Core v0.15. In addition, select items have been backported from Bitcoin v0.16+ 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.

About the author

Dana Alibrandi