Ein Hashwert ist der Fingerabdruck von Daten. Gibt man eine beliebige Eingabe an eine Hash-Funktion, erhält man eine Zeichenkette fester Länge zurück. Dieselbe Eingabe erzeugt immer denselben Hashwert. Ändert man ein einziges Zeichen in der Eingabe, ändert sich der Hashwert vollständig. Diese Eigenschaft macht Hashwerte nützlich zur Verifizierung. Man kann überprüfen, ob eine Datei verändert wurde, indem man ihren Hashwert mit einem bekannten, gültigen Wert vergleicht. Bitcoin verwendet SHA-256, Ethereum Keccak-256. Jeder Block enthält den Hashwert des vorherigen Blocks und verbindet so die gesamte Blockchain.
Hashes sind Einwegfunktionen. Man kann nicht vom Hashwert zurück zum ursprünglichen Eingabewert rechnen. Deshalb werden sie für Passwörter und Nachweise verwendet. Miner konkurrieren darum, einen Hashwert unterhalb eines bestimmten Zielwerts zu finden. Sie ändern eine Nonce, hashen den Block-Header und überprüfen das Ergebnis. Dieser Prozess ist ein Versuch-und-Irrtum-Verfahren in großem Umfang. Das Finden eines gültigen Hashwerts beweist, dass Arbeit geleistet wurde. Die Überprüfung ist nahezu mühelos. Diese Asymmetrie ist die Grundlage des Proof-of-Work-Verfahrens. Hashfunktionen werden außerdem verwendet, um Wallet-Adressen zu generieren und die Integrität von Transaktionen zu überprüfen.
Eigenschaften der Hash-Funktion
- Deterministisch – gleiche Eingabe ergibt immer gleiche Ausgabe
- Schnelle Berechnung – Verifizierung ist kostengünstig
- Preimage-resistent – Hash kann nicht umkehrbar sein
- Lawineneffekt – kleine Eingangsänderung, völlig andere Ausgabe
Ein Hashwert ist keine Verschlüsselung. Es handelt sich um einen Einweg-Digest. Es gibt keinen Schlüssel und keine Möglichkeit zur Entschlüsselung.
Comments
No comments yet. Be the first to share a thought.
Leave a comment