Bedeutung/Funktion Hashing

Ein Hash ist das Ergebnis einer Funktion, die abhängig vom Eingangswert (Text, Datei, Zahlen…) eine Kombination aus Buchstaben und Zahlen mit einer fest definierte Länge ausgibt.

Derselbe Eingangswert bringt bei einer Hash-Funktion immer dasselbe Ergebnis. Änderst Du auch nur 1 Zeichen, ändert sich das Ergebnis vollständig und man weiß, dass die Eingangswerte unterschiedlich sein müssen.

Das Ergebnis und die Länge der Ausgabe hängt von der verwendeten Hash-Funktion ab. Es gibt bspw. MD5, SHA-1, SHA-2, SHA-3 usw.

Das Besondere daran: Man kann nicht ohne Weiteres vom Ergebnis auf den Anfangswert schließen.

Beispiel:
Der MD5-Hash von „Beispieltext 123“ ist a620c18d775865d6749cdcb20e603201.

Gebe ich jemandem „Beispieltext 123“, kann er ohne große Probleme „a620c18d775865d6749cdcb20e603201“ daraus erzeugen.

Gebe ich jemandem aber a620c18d775865d6749cdcb20e603201 kann er nicht „zurückrechnen“, um auf „Beispieltext 123“ zu kommen.

Nur mal zum Vergleich: Der Hash von „Beispieltext 1234“ ist 96f46d53bba477594b3eb78b4542e811, also völlig anders als der Hash von „Beispieltext 123“, obwohl nur 1 Ziffer hinzugefügt wurde.

Beim Mining ist es nun so, dass vorgegeben wird, wie ein Hash auszusehen hat. Man gibt beispielsweise vor, dass der nächste Hash mit 9 Nullen beginnen muss und dann soll eine 1 kommen, also 0000000001xxxxxxxxxxxxxx

Die Aufgabe der Miner ist es nun, einen Eingangswert zu finden, der einen Hash generiert, der dieser Vorgabe entspricht. Je mehr Nullen bzw. je genauer die Vorgabe, desto schwieriger wird das Mining. (Stichwort: Difficulty)

Wer diesen Hash bzw. den richtigen Eingangswert findet, darf den nächsten Block in der Blockchain anhängen und erhält den Mining-Reward.

Zudem wird das Hashing in der Kryptographie genutzt. Aber das würde jetzt wohl zu weit führen.

Es ist natürlich ein ganz klein wenig komplizierter und mathematischer, aber mit einfachen Worten erklärt, kann man’s so stehenlassen, denke ich.

Reicht Dir das als Antwort aus? :slight_smile:

6 „Gefällt mir“