Bitcoin
verwendet gleich zwei verschiedene Hashverfahren. Bei der Erzeugung von
Adressen kommen beide zum Einsatz, und beim Mining "nur"
SHA256.
Man nehme einen
Datensatz. Das kann ein einzelnes Zeichen sein, ein Wort, ein Satz, ein
digitalisiertes Bild, ein ganzes Buch, die stündlichen Rohdaten irgendeiner
Messstelle.
Wendet man darauf eine Hashfunktion an, dann werden daraus Ausgaben fester Länge gebildet.
Die Hashfunktion SHA256
(secure hash algorithm) beispielsweise erzeugt Ausgaben der festen Länge 256 Bit.
"Verhasht" man z.B. die als Text vorliegende, mehrseitige
Bedienungsanleitung eines Küchengerätes, dann ist das Ergebnis eine 256
Bit lange Ausgabe. Im Hex System entspricht das einem 64-stelligen
Bandwurm aus Ziffern und Buchstaben, z.B.:
Diese Eigenschaft eignet sich hervorragend als Mittel gegen
Fälschung und Manipulation von Daten. Anhand des Hashwertes ist sofort
erkennbar,
wenn z.B. in einem Vertrag eine Winzigkeit verändert wurde.
Hashalgorithmen sind unumkehrbar, d.h., der Hashwert lässt keinerlei
Rückschlüsse auf den Datensatz zu. (Man sieht dem Hash nicht an, was
verhasht wurde)
Die Wahrscheinlichkeit, dass unterschiedliche Eingaben denselben
Hashwert ergeben (Kollision), ist so gering, dass der Fall niemals
eintreten wird. Mit der festen Länge 256 Bit sind
theoretisch 2^256 ~ 10^77 unterschiedliche Ausgaben denkbar. Damit
ist die Wahrscheinlichkeit, dass unterschiedliche Eingaben dieselbe
Ausgabe ergeben (Kollision), so gering, dass dieser Fall niemals
eintreten wird. Diese Aussage beruht auf jahrzehntelanger Erfahrung mit
dieser Funktion, und ist streng betrachtet eine (sehr gut begründete)
Hoffnung, und nicht etwa eine technische oder mathematische Folgerung.
Eine häufige Anwendung findet sich beim Download von Dateien aus dem
Internet. Viele Downloadressourcen bieten neben der eigentlichen Datei
auch deren Hashwert zum Download an.
Damit kann der Benutzer überprüfen, ob die heruntergeladene Datei beim
Download verändert wurde, bzw., ob die heruntergeladene Datei
tatsächlich diejenige ist, die er herunterladen wollte.