Rotation de validateur
Pour atteindre un consensus sur la blockchain platform, un jeu spécifique de masternodes, appelés les validateurs, vérifie et signe les blocs. Jusqu’à la version 0.19, le jeu de validateurs était statique et hébergé sur des nœuds contrôlés par DCG. Avec la version 0.20, les quorums de masternodes de longue durée (LLMQ) sont utilisés pour distribuer et échanger dynamiquement le jeu de validateurs parmi tous les masternodes. Cette approche répartit égalitairement la charge et rend le réseau beaucoup plus sûr et fiable.
Preuves cryptographiques
Auparavant, les clients devaient utiliser des nœuds complets de confiance pour garantir la validité et l’intégrité de données récupérées depuis le réseau Platform. Dans cette version, DAPI fournit des preuves cryptographiques solides en complément des données Platform, ce qui donne aux clients légers (par ex. les portefeuilles mobiles) la possibilité d’interagir de manière sûre avec Dash Platform.
Signatures des seuils d’état de Platform
Les validateurs utilisaient auparavant des signatures EdDSA non agrégées du résumé cryptographique de l’état de la plateforme, afin de fournir des preuves cryptographiques et de garantir un consensus de réseau. Le nombre et la taille globale de ces signatures rendaient l’utilisation des preuves coûteuse en ressources pour les clients légers. Dans la version 0.20, le mécanisme de signature de seuil BLS est utilisé pour produire seulement une signature, que les portefeuilles mobiles et d’autres clients légers peuvent vérifier facilement.
Optimisation des couches pair-à-pair
Auparavant, les nœuds complets tout comme les validateurs vérifiaient et s’appuyaient sur tous types de messages P2P. Cela signifie que les nœuds complets recevaient également un trafic réseau contenant des messages seulement significatifs pour les validateurs souhaitant achever un consensus. Dans cette nouvelle version, les nœuds complets ne reçoivent plus de messages de consensus intermédiaires produits par les validateurs. À la place, les validateurs produisent seulement un message, avec une signature de seuil BLS, pour diffuser la décision résultante de consensus au reste du réseau. Cela diminue considérablement la charge du réseau, car beaucoup de messages n’ont plus à être diffusés aux nœuds complets, ce qui entraîne une réduction de 99,5% de l’utilisation du débit réseau.
Métadonnées Platform
Dash Platform joint désormais des métadonnées supplémentaires aux réponses DAPI, telles que la hauteur actuelle de la blockchain Platform, ou encore la hauteur de blockchain synchronisée et qui fait l’objet d’un accord entre tous les nœuds participant au consensus réseau. Comme Platform et les blockchains Core sont asynchrones, Platform utilise cette hauteur Core pour garantir que tous les nœuds Platform ont une vue déterministe de l’état du réseau Core.
Validation stricte et sûre des contrats de données
La nouveau version du protocole Dash Platform met à jour la spécification JSON Schema (version 2020-12 la plus récente) utilisée pour définir les contrats de données, et elle suit des règles strictes de validation pour prévenir des erreurs d’utilisateur potentielles dans les contrats de données soumis au réseau. Un moteur spécial d’expressions régulières est aussi utilisé pour mitiger les attaques ReDoS.
Synchronisation robuste du portefeuille JS
Les versions antérieures de la bibliothèque du portefeuille JS ne recevaient pas toujours toutes les transactions requises ni tous les messages InstantLock de DAPI durant le synchronisation. Cela a été résolu dans la version 0.20.
Améliorations de Dashmate
La dernière version de Dashmate contient 20 corrections et améliorations. Les plus significatives ont été conçues pour rendre la configuration de réseaux de développement local plus pratique et fiable, ainsi que les améliorations de performance et la compatibilité Windows.