


Introduction de la série
Bienvenue dans une nouvelle série : Zero to Zero Knowledge !
Dans cette série, nous apprendrons les fondamentaux d’un large éventail de technologies qui entrent dans la composition de nos protocoles de préservation de la vie privée.
Aujourd’hui, nous commençons avec les fonctions de hachage — un élément clé de la cryptographie utilisé dans les blockchains. Plus tard dans cette série, nous aborderons certains sujets qui s’appuient sur leurs propriétés.
Les fonctions de hachage prennent une entrée de n’importe quelle longueur et produisent une sortie de longueur fixe.

Prenons-en une compréhension pratique à l’aide de cet outil !
Saisissez n’importe quel texte arbitraire pour produire une sortie de longueur fixe. Observez comment la sortie varie selon les différents algorithmes de hachage.
Essayez-le : https://cryptii.com/pipes/hash-function
Les fonctions de hachage cryptographiques doivent posséder ces 3 propriétés :
Il existe plusieurs classes de fonctions de hachage. Quelques exemples :
Une introduction à BLAKE2 : https://www.blake2.net
Les vérifications de l’intégrité des données sont un exemple de « hachage d’intégrité ». Elles servent à générer des sommes de contrôle sur des fichiers de données et à fournir à l’utilisateur une assurance de validité.

Un arbre de hachage ou arbre de Merkle est composé de branches et de nœuds feuilles étiquetés avec le hachage cryptographique d’un bloc de données.

Les arbres de Merkle sont un exemple de schéma d’engagement cryptographique. La racine de l’arbre est considérée comme un engagement, et les nœuds feuilles sont prouvés comme faisant partie de l’engagement d’origine.
Ils permettent de vérifier les données stockées ou transférées sur des réseaux P2P, en garantissant que les données reçues des pairs n’ont pas été altérées.
Dans les pools protégés Sapling et Orchard de Zcash, l’arbre d’engagement des notes est utilisé pour vérifier que les transactions sont valides vis-à-vis du consensus tout en dissimulant parfaitement l’expéditeur, le destinataire et les montants consommés.
SHA256 est un exemple de « hachage de signature » utilisé pour garantir l’immuabilité de chaque bloc dans la chaîne Bitcoin. Les mineurs utilisent le hachage du bloc précédent + un hachage de toutes les transactions du bloc actuel (hashMerkleRoot) + l’horodatage + une valeur aléatoire / la difficulté du réseau pour les nouveaux blocs.

Equihash est l’algorithme de hachage utilisé pour miner Zcash. Il est également utilisé par des réseaux tels que Komodo et Horizen.
Equihash : preuve de travail asymétrique fondée sur le problème généralisé des anniversaires (Biryukov et Khovratovich) : https://eprint.iacr.org/2015/946
Pour acquérir une meilleure compréhension des différents types de fonctions de hachage et de leurs usages associés, voici une excellente ressource :
https://en.wikipedia.org/wiki/Hash_function
Fil de ZecHub (@ZecHub)
Fil X original : https://x.com/ZecHub/status/1621240109663227906
Cette page a été compilée à partir du fil original Zero to Zero Knowledge pour le wiki ZecHub.