Skip to content

v1.3.0-rc2

Pre-release
Pre-release
Compare
Choose a tag to compare
@dajohi dajohi released this 04 Sep 20:14
· 51 commits to master since this release
fe826d0

dcrd v1.3.0-rc2

This release of dcrd contains significant performance enhancements for startup speed, validation, and network operations that directly benefit lightweight clients, such as SPV (Simplified Payment Verification) wallets, a policy change to reduce the default minimum transaction fee rate, a new public test network version, removal of bloom filter support, infrastructure improvements, and other quality assurance changes.

It is highly recommended that everyone upgrade to this latest release as it contains many important scalability improvements and is required to be able to use the new public test network.

Downgrade Warning

The database format in v1.3.0 is not compatible with previous versions of the software. This only affects downgrades as users upgrading from previous versions will see a one time database migration.

Once this migration has been completed, it will no longer be possible to downgrade to a previous version of the software without having to delete the database and redownload the chain.

Notable Changes

Reduction of Default Minimum Transaction Fee Rate Policy

The default setting for the policy which specifies the minimum transaction fee rate that will be accepted and relayed to the rest of the network has been reduced to 0.0001 DCR/kB (10,000 atoms/kB) from the previous value of 0.001 DCR/kB (100,000 atoms/kB).

Transactions should not attempt to use the reduced fee rate until the majority of the network has upgraded to this release as otherwise the transactions will likely have issues relaying through the network since old nodes that have not updated their policy will reject them due to not paying a high enough fee.

Several Speed Optimizations

This release contains several enhancements to improve speed for startup, the initial sync process, validation, and network operations.

In order to achieve these speedups, there is a one time database migration, as previously mentioned, that typically only takes a few seconds to complete on most hardware.

Further Improved Startup Speed

The startup time has been improved by roughly 2x on both slower hard disk drives (HDDs) and solid state drives (SSDs) as compared to v1.2.0.

Significantly Faster Network Operations

The ability to serve information to other peers on the network has received several optimizations which, in addition to generally improving the overall scalability and throughput of the network, also directly benefits SPV (Simplified Payment Verification) clients by delivering the block headers they require roughly 3x to 4x faster.

Signature Hash Calculation Optimization

Part of validating that transactions are only spending coins that the owner has authorized involves ensuring the validity of cryptographic signatures. This release provides a speedup of about 75% to a key portion of that validation which results in a roughly 20% faster initial sync process.

Bloom Filters Removal

Bloom filters were deprecated as of the last release in favor of the more recent privacy-preserving GCS committed filters. Consequently, this release removes support for bloom filters completely. There are no known clients which use bloom filters, however, if there are any unknown clients which use them, those clients will need to be updated to use the GCS committed filters accordingly.

Public Test Network Version 3

The public test network has been reset and bumped to version 3. All of the new consensus rules voted in by version 2 of the public test network have been retained and are therefore active on the new version 3 test network without having to vote them in again.

Changelog

All commits since the last release may be viewed on GitHub here.

Protocol and network:

Transaction relay (memory pool):

RPC:

dcrd command-line flags and configuration:

dcrctl utility changes:

Documentation:

Developer-related package and module changes:

Testing and Quality Assurance:

Misc:

Code Contributors (alphabetical order):

  • Dave Collins
  • David Hill
  • Dmitry Fedorov
  • Donald Adu-Poku
  • harzo
  • hypernoob
  • J Fixby
  • Jonathan Chappelow
  • Josh Rickmar
  • Markus Richter
  • matadormel
  • Matheus Degiovani
  • Michael Eze
  • Orthomind
  • Shuai Qi
  • Tibor Bősze
  • Victor Oliveira