Eine Hashfunktion ist ein Algorithmus, der Eingabedaten in einen Hashwert, auch Digest genannt, umwandelt. Bei gleichem Algorithmus und identischen Eingabebytes ist das Ergebnis stets gleich. Gängige Blockchain-Hashfunktionen erzeugen ein Ergebnis fester Länge, auch wenn die Eingabelänge variiert.
Bedeutung kryptografischer Stärke
Eine kryptografische Hashfunktion soll es praktisch unmöglich machen, aus einem Hashwert eine passende Eingabe oder unterschiedliche Eingaben mit gleichem Hashwert zu finden. Kollisionen bleiben mathematisch möglich. Die Sicherheit hängt vom Algorithmus und den Ressourcen eines Angreifers ab, nicht von einer angeblichen Eindeutigkeit jeder Ausgabe.
Einsatz in Blockchains
Hashes helfen, Transaktionen zu identifizieren, Blockheader zu verknüpfen und Daten in Merkle-Bäumen zusammenzufassen. SHA-256 liefert 256 Bit, meist dargestellt durch 64 Hexadezimalzeichen. Schon eine kleine Eingabeänderung verändert den Hashwert gewöhnlich stark und ermöglicht den Vergleich mit einer vertrauenswürdigen Referenz.
Ein Hash verbirgt nicht alles
Hashing ist keine umkehrbare Verschlüsselung und verwendet keinen Entschlüsselungsschlüssel. Vorhersagbare Eingaben lassen sich weiterhin erraten und durch Hashen möglicher Kandidaten prüfen. Ein übereinstimmender Hashwert belegt eine Beziehung zu den referenzierten Daten, aber weder deren Wahrheitsgehalt noch die Vertrauenswürdigkeit ihres Verfassers.