Eine kryptografische Hash-Funktion ist ein Algorithmus, d. h. eine wiederholbare Abfolge bestimmter Aktionen, mit dem eine beliebige Datenfolge variabler Länge in eine Datenfolge fester Länge und festen Formats, den Hash, umgewandelt werden kann.Eines der einfachsten Beispiele für eine Hash-Funktion ist die Addition der Ziffern einer Zahl, bis eine einstellige Ausgabe übrig bleibt. Wenn die Eingabe z. B. 49 ist, ergibt die Addition von 4 und 9 die 13, deren Ziffern 1 und 3 dann wieder addiert werden, um die Ausgabe 4 zu erhalten. Unabhängig von der Länge der Eingabezahl ist die Ausgabe immer eine einzelne Ziffer.Das ist jedoch kein guter Algorithmus, denn damit eine Hash-Funktion ihre Aufgaben gut erfüllen kann, muss sie mehrere Eigenschaften haben:Es sollte einfach sein, eine Ausgabe für eine beliebige Eingabe zu berechnen, aber fast unmöglich, den Prozess umzukehren und die Eingabe einer bekannten Ausgabe zu berechnen;Determinismus - eine bestimmte Eingabe in den Algorithmus sollte immer dieselbe Ausgabe ergeben;Kollisionssicherheit - es sollte sehr unwahrscheinlich sein, dass zwei verschiedene Eingaben dieselbe Ausgabe ergeben;Avalanche-Effekt - die Änderung auch nur eines einzigen Datenbits in der Eingabe sollte zu einer völlig anderen Ausgabe führen.Hashing-Funktionen werden in vielen Anwendungsfällen eingesetzt, z. B. als Prüfsummen, um die Integrität von Computerdateien nach ihrer Übertragung oder längeren Speicherung zu überprüfen, oder als Zufallsfunktionen.Sie sind auch eine Schlüsselkomponente beim Mining von Proof-of-Work-Kryptowährungen wie Bitcoin (BTC), das die SHA-256-Hash-Funktion verwendet. Um der Blockchain einen neuen Block hinzuzufügen und ihre Belohnung in Form von neu geschürften Bitcoin zu erhalten, müssen Miner zunächst einen Hash-Wert erzeugen, der unter einem bestimmten Schwellenwert, dem sogenannten Target, liegt. Die Tatsache, dass Hashes pseudozufällig sind und es unmöglich ist, die Ausgabe einer beliebigen Eingabe vorherzusagen, bevor sie die Hash-Funktion durchlaufen hat, sorgt dafür, dass Miner keine neuen Bitcoins aus dem Nichts drucken können und ihre Arbeit nachweisen müssen.