Rotation de validateur
Pour assurer un consensus sur la blockchain de plateforme, 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 (long-living masternode quorums, LLMQ) sont utilisés pour distribuer dynamiquement et cycliquement le jeu de validateurs parmi tous les masternodes. Cette approche distribue la charge de manière équilibrée, et rend le réseau bien 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é des données obtenues du réseau de plateforme. Dans cette version, la DAPI fournit des preuves cryptographiques efficaces en complément des données de plateforme, ce qui permet aux clients légers (par ex. les portefeuilles mobiles) d’interagir de manière sûre avec Dash Platform.
Signatures des seuils d’état de Platform
Les validateurs utilisaient précédemment des signatures EdDSA non-agrégées sur le digest cryptographique d’état de la plateforme, afin de fournir des preuves cryptographiques et de garantir le consensus de réseau. La quantité et le volume de ces signatures ont rendu ces preuves trop gourmandes en ressources pour les clients légers. Dans la version 0.20, le mécanisme de signatures BLS de seuil est utilisé pour produire une seule signature, ce que les portefeuilles mobiles et autres clients légers peuvent vérifier facilement.
Optimisation des couches pair-à-pair
Auparavant, les nœuds complets aussi bien que les validateurs s’appuyaient et vérifiaient tous les types de messages P2P. Cela signifie que les nœuds complets recevaient également le trafic réseau contenant des messages seulement pertinents pour les validateurs et le consensus. Dans cette nouvelle version, les nœuds complets ne reçoivent plus les messages intermédiaires de consensus produits par les validateurs. À la place, les validateurs ne produisent qu’un seul message avec une signature BLS de seuil pour propager la décision de consensus résultante au reste du réseau. Cela réduit beaucoup la charge de réseau car beaucoup de messages n’ont plus besoin d’être propagés aux nœuds complets, entraînant une baisse de 99,5% de l’utilisation de la bande passante.
Métadonnées Platform
Dash Platform joint désormais des données complémentaires aux réponses DAPI, telles que la hauteur actuelle de la blockchain de plateforme, ou encore la hauteur de la blockchain principale synchronisée qui est observée et agréée par tous les nœuds participant au consensus de réseau. Comme les blockchains principale et de plateforme sont asynchrones, la plateforme utilise cette hauteur principale pour assurer que tous les nœuds de plateforme ont une vision déterministe de l’état du réseau principal.
Validation stricte et sûre des contrats de données
La nouvelle version du protocole Dash Platform actualise la spécification de schéma JSON utilisée pour définir les contrats de données à la version 2020-12 la plus récente, et elle emploie des règles strictes de validation pour prévenir les erreurs potentielles des utilisateurs dans les contrats de données soumis au réseau. Un moteur spécial d’expressions régulières est également utilisé pour contrer les attaques ReDoS.
Synchronisation robuste du portefeuille JS
Les versions précédentes de la bibliothèque JS Wallet ne recevaient pas toujours toutes les transactions requises et tous les messages InstantLock de la DAPI pendant la 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 importantes ont été conçues pour rendre l’installation de réseaux locaux de développement plus simple et fiable, ainsi que des améliorations de performance et un support Windows.