Validator Set Rotation
To archieve consensus on platform blockchain, a specific set of masternodes, called validators, verifies and signs blocks. Up to 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.
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.
Platform State Threshold Signing
Validators previously used non-aggregated 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 means 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 99.5% less bandwidth usage.
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.
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.