Deutsch한국어 日本語中文EspañolFrançaisՀայերենNederlandsРусскийItalianoPortuguêsTürkçe
Portfolio TrackerSwapBuy CryptoCryptocurrenciesPricingWalletNewsEarnBlogNFTWidgetsCoinStats MidasDeFi Portfolio TrackerIntegrations24h ReportPress KitAPI Docs

Dash Core Group Release Announcement: Dash Platform v0.20 on Testnet

3y ago
bullish:

5

bearish:

3

Release Highlights include: Validator Set Rotation, Cryptographic Proofs, Platform State Threshold Signing, Peer-to-peer Layer Optimization, Platform Metadata, Strict and Secure Data Contract validation, Robust JS Wallet Synchronization, and Dashmate improvements.

Dash Core Group is pleased to announce the release of Dash Platform v0.20 on testnet. This significant release brings with it major changes in Platform Consensus. These include but are not limited to Validator Set Rotation, Peer-to-peer Layer Optimization and Threshold Signing which are explained below. Some of these new improvements provide new cryptographic security to Dash Platform making it one of the first examples of a scalable pBFT-based consensus network. This is a very exciting milestone for us.

The new release introduces several breaking changes which make previous existing platform data invalid. Instead of adding a significant amount of extra work to handle these changes we had to wipe Layer 2 platform state data as part of this release. Layer 1 Core chain and payment transactions remain untouched.

In addition, updates to the DashPay wallets for Android and iOS are being verified on this new version of Dash Platform. Alpha Program users will receive an update after stability of the network has been confirmed.

To update your testnet node please update the distribution package and reset platform data.

RELEASE HIGHLIGHTS

  • Validator Set Rotation To archive consensus on the Platform blockchain, a specific set of masternodes, called validators, verifies and signs blocks. Up until version 0.19, the validator set was static and hosted on nodes controlled by DCG. With version 0.20, Long-living Masternode Quorums (LLMQ) are used to dynamically distribute and rotate the validator set among all masternodes. This approach evenly distributes the load and makes the network much more secure and reliable.
  • Dash Core Signing In previous versions validators would use hard coded public/private key pairs where the public key would be known by the entirety of the network and the private key would be in an insecured file on disk. In this version Dash Core provides signing for individual members of the active validator set quorum making it so keys never leave the proven security of the Dash Core system.
  • Cryptographic Proofs Previously, clients needed to use trusted full nodes to ensure the validity and integrity of data retrieved from the platform network. In this version, DAPI provides efficient cryptographic proofs alongside the platform data, which enables light clients (e.g. mobile wallets) to securely interact with Dash Platform. These proofs involve merkle-ized trees proving any returned data is in the state and then a signature of the state by known quorums. While Platform does provide these proofs in 0.20, we plan on having further improvements in v0.21 before the verification of these proofs in client libraries, as we noticed some additional work was needed to make them fully verifiable.
  • Platform State Threshold Signing Validators previously used EdDSA signatures of the platform state cryptographic digest in order to provide cryptographic proofs and guarantee network consensus. The number and overall size of these signatures made proofs resource-intensive for light clients to use. In version 0.20, the BLS threshold signing mechanism is used to produce only one signature, which mobile wallets and other light clients can easily verify.
  • Peer-to-Peer Layer Optimization Previously, full nodes as well as validators relied on and verified all types of P2P messages. This meant that full nodes also received network traffic containing messages only relevant to validators for achieving consensus. In the new version, full nodes no longer receive intermediate consensus messages produced by validators. Instead, validators produce only one message with a BLS threshold signature to propagate the resulting consensus decision to the remainder of the network. This heavily reduces network load as many messages no longer need to be propagated to full nodes, resulting in orders of magnitude less bandwidth usage.
  • Platform Metadata Dash Platform now attaches additional metadata to DAPI responses, such as the current platform blockchain height, as well as the synchronized core blockchain height observed and agreed upon by all nodes participating in network consensus. Since the platform and core blockchains are asynchronous, Platform uses this core height to ensure all platform nodes have a deterministic view of the core network state.
  • Strict and Secure Data Contract Validation The new version of Dash Platform Protocol updates the JSON Schema specification used to define data contracts to the most recent 2020–12 version, and employs strict validation rules to prevent potential user errors in data contracts submitted to the network. A special regular expression engine is also employed to mitigate ReDoS attacks.
  • Robust JS Wallet Synchronization Previous versions of the JS Wallet library did not always receive all requested transactions and instantlock messages from DAPI during synchronization. This has been resolved in version 0.20.
  • Dashmate Improvements The latest version of Dashmate contains 20 fixes and improvements. The most significant of these were designed to make setting up local development networks more convenient and reliable, as well as performance improvements and Windows support.

WHAT’S NEXT?

DCG development teams will continue to work diligently to increase stability and to deliver innovative features for Dash Platform. Whilst the features associated with an MVP version of the DashPay wallets continues to be one of our main priorities, future versions of Dash Platform should bring greater stability and new features for community developers as well.

We have already begun work on the next release which is expected to include a new error code framework to allow clients to handle Platform errors better, an upgrade process that will avoid the need to wipe L2 data allowing for safe transition between protocol versions, non-inclusion proofs and another cool feature; the ability to update existing data contract schemas to support these new features. Alongside this development, a new more robust, and secure state tree design will be defined and we will continue to further refine our most critical work needed for the first mainnet release. We would like to thank our community of developers once again for their continued patience as we work to release better and more stable versions of our software going forward.

As with this release we are expecting a data wipe to occur during our next release of v0.21 as well. Observers can expect the next platform release to occur roughly 6 weeks from now in the beginning of September.

Follow the Dash blog and social media channels for more releases and updates, and as usual, your thoughts, feedback, and pull requests are greatly appreciated.

Release Notes


Dash Core Group Release Announcement: Dash Platform v0.20 on Testnet was originally published in Dash Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.

3y ago
bullish:

5

bearish:

3

Manage all your crypto, NFT and DeFi from one place

Securely connect the portfolio you’re using to start.