Modulo-P ouvre l’outillage ZK de Cardano au vote anonyme et aux applications privées
La pile open source combine Cardano-Semaphore, le vote privé, Proof of Innocence et une infrastructure de configuration réutilisable, réduisant le travail cryptographique nécessaire pour créer des applications à connaissance nulle sur Cardano.
By SongMarketCap
Modulo-P a présenté une pile open source de connaissance nulle que les développeurs Cardano peuvent utiliser pour créer des applications d’adhésion anonyme, de vote privé et de conformité préservant la confidentialité. Agustín Salinas a présenté ce travail lors de Cardano Developers Office Hours #68 le 10 juillet, retraçant son évolution depuis les premières expérimentations avec Plutus V2 et Hydra jusqu’à des contrats Aiken réutilisables et une infrastructure de configuration cryptographique partagée.
Ces composants ne constituent pas un produit grand public unique. Ils fournissent des blocs de construction séparés que les développeurs peuvent intégrer à des applications nécessitant une preuve d’identité, d’appartenance ou de propriétés de transaction sans exposer les données privées sous jacentes.
Cardano-Semaphore apporte l’adhésion anonyme à Aiken
Modulo-P a commencé à expérimenter les preuves à connaissance nulle sur Cardano en 2023, avant que le réseau ne dispose des primitives Plutus nécessaires à une vérification efficace et avant qu’Aiken ne mûrisse pour devenir un langage de contrats intelligents largement utilisé.
Le premier vérificateur de l’équipe était volumineux et coûteux en calcul, rendant la couche 1 de Cardano inadaptée à l’implémentation initiale. Le développement est passé sur Hydra, où Modulo-P a créé une version à connaissance nulle de Mastermind permettant à un participant de prouver la validité d’un indice sans révéler la combinaison cachée.
Plutus V3 a ensuite introduit des fonctions cryptographiques natives BLS12-381, tandis qu’Aiken a considérablement raccourci les cycles de compilation et de développement. Modulo-P a exploité ces capacités pour publier ak-381, une implémentation Aiken d’un vérificateur Groth16, suivie de Cardano-Semaphore.
Semaphore est un protocole à connaissance nulle initialement développé dans l’écosystème Ethereum. Il permet à un utilisateur de prouver son appartenance à un groupe défini sans révéler quel membre il est.
Cardano-Semaphore met en œuvre ce modèle via des contrats intelligents Aiken. Un membre vérifié peut soumettre un signal anonyme représentant un vote, une préférence, un message ou une autre entrée propre à l’application. Le protocole vérifie que l’émetteur possède une identité privée valide, appartient au groupe autorisé et n’a pas déjà soumis le même type de signal.
L’implémentation offre aux applications Cardano une couche de confidentialité réutilisable plutôt que d’imposer à chaque équipe de concevoir de manière indépendante l’adhésion anonyme et la logique de prévention des doublons. Les usages potentiels incluent des enquêtes privées, des décisions organisationnelles, des soutiens anonymes et des systèmes de gouvernance où la participation doit être restreinte sans relier publiquement chaque action à un portefeuille ou une identité.
Le vote privé et Proof of Innocence mettent les outils en pratique
Modulo-P a utilisé Cardano-Semaphore comme base pour une application de vote fonctionnant dans l’environnement Preprod de Cardano.
L’implémentation actuelle prend en charge un modèle une personne un vote. Les participants prouvent qu’ils appartiennent à un groupe éligible, déposent un bulletin anonyme et s’engagent sur le choix soumis sans exposer quel membre enregistré l’a sélectionné.
Salinas a indiqué que l’architecture peut aussi être adaptée au vote pondéré et à différents formats de questions. Ces configurations dépendent de la manière dont une application définit l’appartenance au groupe, les droits de vote et les règles régissant chaque fenêtre de vote.
L’application de vote s’inscrit dans la continuité d’une initiative antérieure de Project Catalyst qui a financé l’implémentation Cardano de Semaphore et du signalement anonyme. Le projet du Fund 11 a reçu 100,000 ADA et est indiqué comme achevé, ses livrables étant conçus pour être entièrement open source.
Une seconde application, Proof of Innocence, a été développée par ENCOINS, Modulo-P et Eryx Cooperative.
Proof of Innocence permet à un utilisateur de démontrer que des fonds ne sont pas liés à un ensemble défini de transactions malveillantes sans divulguer la transaction spécifique, l’adresse d’origine ou l’historique privé utilisés pour générer la preuve.
Un protocole de confidentialité pourrait appliquer ce mécanisme lorsqu’un utilisateur retire des fonds. Au lieu de publier l’intégralité du chemin de transaction, l’utilisateur génère une preuve à connaissance nulle montrant que le dépôt ou engagement pertinent n’est pas inclus dans la liste noire du protocole.
Project Catalyst a alloué 150,000 ADA à l’initiative. Le projet est indiqué comme achevé et couvre la recherche, les circuits à connaissance nulle, les contrats intelligents, les tests et la documentation finale. Son résultat demeure une preuve de concept plutôt qu’un service de conformité en production.
La distinction est importante pour les développeurs qui évaluent le code. L’implémentation montre comment la vérification sélective peut fonctionner sur Cardano, mais un déploiement commercial nécessiterait encore des contrats audités, des sources de données fiables, une gouvernance de la liste noire clairement définie et une intégration avec l’application traitant des transactions privées.
Des paramètres Powers of Tau réutilisables réduisent le travail de configuration ZK
Des systèmes de preuve efficaces tels que Groth16 nécessitent une configuration de confiance avant que les applications puissent générer et vérifier des preuves de manière sécurisée.
Lors d’une cérémonie Powers of Tau, plusieurs participants apportent un aléa secret à un ensemble partagé de paramètres cryptographiques. Chaque participant doit détruire sa contribution privée après son inclusion. Le résultat final reste sécurisé tant qu’au moins un contributeur mène ce processus honnêtement, car aucune partie ne peut reconstituer le secret complet.
Modulo-P et ENCOINS ont organisé une cérémonie Powers of Tau axée sur Cardano avec environ 40 participants de la communauté. Selon Salinas, le processus de contributions séquentielles a duré environ 20 jours.
L’initiative a reçu 87,141 ADA via Project Catalyst et a achevé quatre étapes couvrant la préparation, l’exécution de la cérémonie, un portail public et la livraison finale. Les paramètres obtenus peuvent être réutilisés par des applications Cardano compatibles, supprimant la nécessité de répéter la première phase de la configuration pour chaque nouveau circuit.
Les applications Groth16 nécessitent encore une seconde phase de configuration liée au circuit spécifique de l’application. Des contributeurs des communautés à connaissance nulle de Cardano et d’Ethereum développent Brebaje pour simplifier cette étape.
Cet outil agnostique aux protocoles est destiné à aider les équipes à créer une cérémonie, coordonner les contributions, publier le registre des participants et conserver une trace vérifiable du processus. Brebaje reste en développement actif et n’est pas encore un service de production abouti.
Modulo-P privilégie désormais une documentation plus solide, une revue de sécurité et des parcours développeurs plus simples plutôt que d’augmenter en continu le nombre d’outils expérimentaux. Les équipes Cardano peuvent déjà démarrer avec du code public de vérificateur Groth16, des contrats Cardano-Semaphore, une implémentation de référence de Proof of Innocence achevée et des paramètres de phase 1 réutilisables. Le travail restant est propre à chaque application, incluant la conception des circuits, toute cérémonie de seconde phase nécessaire, les audits et l’intégration en production, plutôt que de reconstruire l’ensemble de la fondation à connaissance nulle.