BlockPulseNews
Définition

Poseidon : définition

Aussi appelé : hash

Poseidon est une fonction de hachage conçue pour être peu coûteuse à l'intérieur des circuits de preuves à connaissance nulle, là où des fonctions classiques comme SHA-256 ou Keccak-256 nécessitent un nombre de contraintes bien plus élevé.

Thème : Confidentialité

Poseidon : comment ça marche ?

Une fonction de hachage transforme une donnée de taille quelconque en une empreinte de taille fixe, impossible à inverser en pratique. SHA-256 et Keccak-256 sont conçues pour être rapides sur des processeurs ordinaires, en manipulant des bits. Or les systèmes de preuves à connaissance nulle raisonnent sur des nombres appartenant à un corps fini, une sorte d'arithmétique modulaire. Traduire chaque opération binaire en contraintes arithmétiques rend ces fonctions très lourdes à prouver.

Poseidon est construite directement sur cette arithmétique. Elle applique plusieurs tours d'additions, de multiplications et d'élévations à une petite puissance, selon une structure dite d'éponge. Résultat : hacher une donnée dans un circuit coûte beaucoup moins de contraintes, ce qui accélère la génération des preuves et réduit leur coût. On la retrouve dans de nombreux projets zk, par exemple pour construire des arbres de Merkle à l'intérieur de circuits, dans des protocoles de confidentialité ou dans certains rollups. Des variantes et paramétrages différents existent selon le corps utilisé.

Un exemple concret

Imaginons une application qui veut prouver qu'un utilisateur figure dans une liste de membres sans révéler lequel. La liste est stockée sous forme d'arbre de Merkle, et la preuve doit recalculer plusieurs hachages successifs dans un circuit. Avec Poseidon, cette preuve peut être générée rapidement sur un ordinateur personnel ; avec SHA-256, le même circuit serait nettement plus volumineux et plus lent.

Les risques à connaître

Poseidon est plus récente que les fonctions de hachage historiques et a fait l'objet de moins d'années de cryptanalyse. Sa sécurité dépend aussi du choix correct des paramètres ; une implémentation mal paramétrée ou incompatible entre deux systèmes peut produire des failles ou des résultats différents.

À ne pas confondre avec

  • Keccak-256 vs SHA-256 : Keccak-256 et SHA-256 sont optimisées pour les processeurs classiques, Poseidon pour les circuits arithmétiques des preuves zk.
  • zk-SNARK : Un zk-SNARK est un système de preuve complet, Poseidon n'est qu'une brique de hachage utilisée à l'intérieur de ces preuves.

Questions fréquentes sur Poseidon

Pourquoi ne pas utiliser SHA-256 dans les preuves zk ?

C'est possible, mais très coûteux, car SHA-256 repose sur des opérations binaires qui se traduisent par un grand nombre de contraintes arithmétiques. Poseidon a été conçue pour éviter ce surcoût.

Poseidon est-elle utilisée par Bitcoin ou Ethereum ?

Non, Bitcoin utilise SHA-256 et Ethereum utilise Keccak-256 au niveau du protocole. Poseidon est employée par des applications et des rollups qui reposent sur des preuves à connaissance nulle.

Termes liés

Dans le même thème : Confidentialité

Tous les termes du thème Confidentialité →

À lire

Poseidon dans l'actualité

Nos articles qui parlent de Poseidon, les plus pertinents d'abord.

Approfondir avec l'Académie : Confidentialité & Traçabilité Un module gratuit, en leçons courtes et quiz, pour maîtriser ce thème pas à pas.
Découvrir le module

Les autres termes en P

← Tout le lexique crypto de A à Z