Cardano propose une prise en charge native de Poseidon pour les applications à connaissance nulle
CIP-0199 propose d'ajouter la permutation Poseidon en tant que fonction native de Plutus, offrant aux developpeurs Cardano une base plus efficace pour des applications combinant des contrats intelligents avec des preuves a connaissance nulle. La proposition est en examen formel et n'est pas disponible sur le reseau principal.
By SongMarketCap
Updated:
Cardano Improvement Proposal 0199 introduit une nouvelle primitive cryptographique de Plutus pour des applications a connaissance nulle. Les editeurs du CIP l'ont confirme comme candidate le 15 septembre a la suite d'un premier examen technique. Les transactions ADA ordinaires ne sont pas affectees, car la proposition n'a pas ete fusionnee ni activee.
CIP-0199 introduit une nouvelle primitive Plutus
La proposition ajouterait une fonction integree de Plutus nommee bls12_381_poseidonPermutation. Les contrats intelligents pourraient executer la permutation Poseidon via l'implementation native de Plutus de Cardano au lieu de reproduire le calcul dans un script.
Poseidon est une famille de fonctions cryptographiques conues pour les systemes a connaissance nulle. Contrairement aux fonctions de hachage traditionnelles comme SHA-256 et Blake2b, elle utilise le meme type d'arithmetique sur corps fini que l'on trouve dans de nombreux circuits ZK.
Les hachages traditionnels sont efficaces sur des processeurs conventionnels mais exigent beaucoup plus de contraintes au sein d'un circuit a connaissance nulle. Une fonction Poseidon native pourrait reduire cet ecart de calcul lorsque des donnees sont traitees dans une preuve puis verifiees ensuite par un contrat intelligent Cardano.
CIP-0199 a ete redige par Gamze Orhon Kilic et Thomas Vellekoop. Sa pull request reste ouverte tandis que les details d'implementation sont discutes avec l'equipe Plutus.
Poseidon relie Cardano aux outils ZK existants
Les applications a connaissance nulle utilisent frequemment des arbres de Merkle pour prouver qu'une information appartient a un ensemble de donnees plus vaste sans reveler l'ensemble complet. Une racine peut etre stockee sur la chaine tandis que les preuves individuelles d'appartenance sont verifiees lorsque necessaire.
Selon CIP-0199, les fonctions de hachage traditionnelles peuvent necessiter des dizaines de milliers de contraintes de circuit pour une seule evaluation. Poseidon peut effectuer un travail comparable avec quelques centaines de contraintes, car il s'appuie sur des additions et multiplications de champ natives.
Le registre initial contiendrait deux variantes de Poseidon. L'une est basee sur midnight-zk, la bibliotheque zero knowledge utilisee par Midnight. La seconde suit l'ecosysteme R1CS de style Circom sur le corps scalaire BLS12-381.
Les scripts Plutus pourraient donc verifier des engagements et des preuves produits via deux approches de developpement ZK etablies. La proposition normalise la permutation fondamentale tout en permettant aux applications de reproduire les conventions de hachage requises par chaque systeme.
Des tests preliminaires evaluent une permutation Poseidon a environ 22 a 24 microsecondes sur la machine de reference du modele de cout de Plutus. Un appel consommerait environ 0,24 pour cent du budget CPU par transaction actuel, tandis qu'une preuve de Merkle de profondeur 20 utiliserait environ 4,8 pour cent. Ces resultats proviennent de travaux d'integration preliminaires et non d'une version de production de Cardano.
Un examen de securite definit la voie d'activation
CIP-0199 propose une permutation Poseidon plutot qu'une fonction de hachage complete. Les ecosystemes ZK utilisent differentes conventions pour organiser les entrees, initialiser l'etat interne et selectionner la sortie finale.
Plutus executerait la permutation tres couteuse en calcul, tandis que chaque application resterait responsable de l'implementation de la structure de hachage appropriee autour. La proposition inclut des vecteurs de test et des recommandations d'usage, car un mauvais cadrage pourrait engendrer des constructions incompatibles ou peu sures.
La mise en oeuvre preliminaire repose egalement sur un coeur Poseidon en C qui n'a pas acheve d'audit independant. Une integration supplementaire a Plutus, une finalisation des parametres de cout, des vecteurs de test verifies de maniere croisee et un examen de securite externe restent necessaires.
Le statut de candidate n'ajoute pas automatiquement la fonction a Cardano. Une mise en oeuvre achevee, une approbation technique et une activation du protocole resteraient necessaires avant que les developpeurs puissent l'utiliser sur le reseau principal.
Si elle etait activee, CIP-0199 fournirait a Plutus un composant natif pour verifier des engagements et des preuves a connaissance nulle bases sur Poseidon. Cela etendrait l'infrastructure de developpement de Cardano autour d'ADA tout en etablissant une voie de compatibilite definie pour les systemes de preuve bases sur Midnight et Circom.