Une fonction de hachage cryptographique est un algorithme déterministequi mappe une entrée de longueur arbitraire (une chaîne d'octets) à une sortie de longueur fixe appelée résumé (valeur de hachage). Le déterminisme signifie que des entrées identiques produisent des résumés identiques. Dans les protocoles blockchain, les valeurs de résumé sont traitées comme des engagements : la modification de tout octet pertinent pour le protocole modifie le résumé.
La sécurité cryptographique s'exprime en termes informatiques. Les objectifs typiques sont : • Résistance pré-image : étant donné y, il est impossible de trouver x tel que. • Résistance à la seconde préimage : étant donné x, il est impossible de trouveravec. • Résistance aux collisions : il est impossible de trouver destel que. Ici, « infaisable » signifie qu'aucun algorithme pratique connu ne peut accomplir la tâche dans des limites de ressources réalistes.
1) Liaison de chaîne : les en-têtes de bloc incluent un champ avec le hachage de l'en-tête précédent. Si un octet d'en-tête change, le nouveau hachage ne correspond plus, donc la falsification est détectée par recalcul. 2) Engagement de transaction : de nombreuses transactions sont résumées dans une seule racine Merkle incluse dans l'en-tête. Une preuve Merkle permet à un client léger de vérifier qu'une transaction est incluse dans l'ensemble validé par cette racine, sans télécharger le bloc complet.