J’ai passé presque toute une après-midi à m’acharner sur les logs du testnet, le glaçon de mon iced coffee sur la table avait complètement fondu, et l’eau condensée avait laissé une auréole humide sur mon tapis de souris. J’ai posé la souris sur la station de charge sans fil, je me suis assis là, hébété, pendant cinq minutes, puis j’ai fini par capter un point anormal : sur les chaînes PoS, les enregistrements de mise des validateurs sont entièrement publics sur la blockchain. L’attaquant n’a qu’à suivre l’adresse de mise pour retrouver l’IP du nœud. Sur une chaîne de type privacy chain, les montants des transactions sont même chiffrés, mais on ne peut quand même pas laisser l’identité du validateur à découvert, à poil.

Avant, je supposais que la logique de mise d’une privacy chain était à peu près la même que celle d’un PoS classique. Jusqu’à ce que je tombe sur le module de mise anonyme « Citadel » de Dusk, où j’ai compris que, même pour la couche « identité de production de bloc », il y ajoutait aussi une confidentialité de bout en bout.

Au début, je pensais que c’était juste une histoire de mélange (mixing) autour de l’adresse de mise. Mais en regardant de près le circuit ZK du contrat de mise, je me suis rendu compte que ce n’était pas aussi simple : ce qu’il cherche à faire, c’est que vous n’ayez pas à exposer votre adresse de mise ni le montant exact mis pour prouver à l’ensemble du réseau que vous remplissez le seuil minimum et que vous avez le droit de participer au consensus.

Le mécanisme « Citadel » fondé sur des preuves récursives PLONK a pour cœur de résoudre le problème ingérable auquel aucune chaîne PoS ne peut vraiment échapper : sur la mise publique, tout le monde voit les enregistrements. Quand on mise des DUSK, les jetons sont verrouillés dans une piscine de mise anonyme et uniforme ; le montant mis, la durée de verrouillage et l’association avec l’adresse sont tous traités par aveuglement (blindage). Les autres nœuds n’ont besoin que de 8 secondes pour vérifier : ils ne voient ni le lien entre l’adresse et la mise, ni la correspondance entre la signature de production de bloc et l’adresse concrète.

Mais je dois dire la vérité : cette conception exige une précision extrêmement élevée des circuits ZK. S’il y a une contrainte écrite de travers, il peut exister un risque de falsification de preuve. Et le défi d’ingénierie pour pénaliser précisément les nœuds malveillants est bien plus grand que pour une mise publique. Cette partie continue d’être testée. Cette voie pourra-t-elle vraiment fonctionner ? Il faut le vérifier avec le temps. Mais au moins, cela montre que Dusk prend la confidentialité au sérieux, jusque dans les fondations mêmes du consensus. À ton avis, l’identité des validateurs sur une privacy chain PoS devrait-elle être publique ? Discutons-en dans les commentaires.
#dusk $DUSK @Dusk