Hash
Ein Hash ist die Ausgabe fester Länge, die entsteht, wenn Daten beliebiger Größe durch eine kryptografische Hashfunktion laufen – ein mathematischer Einweg-Fingerabdruck, der die Eingabe eindeutig zusammenfasst. Dieselbe Eingabe ergibt immer denselben Hash, doch schon die Änderung eines einzigen Zeichens erzeugt ein völlig anderes Ergebnis, und es gibt keinen praktikablen Weg, von einem Hash auf die ursprünglichen Daten zurückzurechnen oder zwei verschiedene Eingaben zu finden, die sich einen Hash teilen.
Blockchains nutzen Hashes überall. Jede Transaktion hat einen Hash, der als ihre ID dient; jeder Block-Header enthält den Hash des vorherigen Blocks, und genau das verkettet Blöcke buchstäblich miteinander – die Änderung einer alten Transaktion würde den Hash ihres Blocks ändern, jedes nachfolgende Glied brechen und Manipulation sofort erkennbar machen. Merkle-Bäume aus Hashes erlauben es Light Clients, eine einzelne Transaktion zu prüfen, ohne alles herunterzuladen, und Proof-of-Work-Mining ist ein Wettlauf darum, einen Block-Hash unter einem Zielwert zu finden. Wird das Wort „hello“ zum Beispiel mit SHA-256 (der Hashfunktion von Bitcoin) gehasht, entsteht immer dieselbe 64-stellige Hexadezimalzeichenfolge, während „Hello“ eine völlig andere ergibt.
Ein verbreiteter Irrtum ist, dass Hashing Verschlüsselung sei; Verschlüsselung ist mit einem Schlüssel umkehrbar, während Hashing darauf ausgelegt ist, unumkehrbar zu sein, und überhaupt keinen Schlüssel kennt. Verschiedene Blockchains verwenden verschiedene Funktionen – Bitcoin SHA-256, Ethereum Keccak-256 –, doch alle stützen sich auf dieselben Eigenschaften: Determinismus, Kollisionsresistenz und den Lawineneffekt, der Ausgaben unvorhersehbar macht.