Un hachage est une empreinte numérique de données. Toute entrée introduite dans une fonction de hachage produit en retour une chaîne de caractères de longueur fixe. Une même entrée génère toujours le même hachage. Modifier un seul caractère dans l'entrée entraîne une modification complète du hachage. Cette propriété rend les hachages utiles pour la vérification. On peut s'assurer de l'intégrité d'un fichier en comparant son hachage à une valeur de référence. Bitcoin utilise SHA-256, tandis qu'Ethereum utilise Keccak-256. Chaque bloc contient le hachage du bloc précédent, assurant ainsi la cohérence de la chaîne.
Les fonctions de hachage sont unidirectionnelles. Il est impossible de retrouver l'entrée originale à partir d'un hachage. C'est pourquoi elles sont utilisées pour les mots de passe et les preuves de travail. Les mineurs rivalisent pour trouver un hachage inférieur à un certain seuil. Ils modifient un nonce, hachent l'en-tête du bloc et vérifient le résultat. Le processus repose sur une approche par essais et erreurs à très grande échelle. Trouver un hachage valide prouve qu'un travail a été effectué. Sa vérification ne demande quasiment aucun effort. Cette asymétrie est le fondement de la preuve de travail. Les fonctions de hachage servent également à générer les adresses de portefeuille et à vérifier l'intégrité des transactions.
propriétés de la fonction de hachage
- Déterministe — une même entrée donne toujours la même sortie
- Calcul rapide — la vérification est peu coûteuse
- Résistant à la préimage — impossible d'inverser le hachage
- Effet avalanche — petite modification de l'entrée, sortie complètement différente
Un hachage n'est pas un chiffrement. Il s'agit d'un condensé unidirectionnel. Il n'y a pas de clé et aucun moyen de déchiffrer.
Comments
No comments yet. Be the first to share a thought.
Leave a comment