Was ist ein Hash?
Ein Hash ist eine Funktion, die eine Eingabe von Buchstaben und Zahlen in eine verschlüsselte Ausgabe fester Länge umwandelt. Ein Hash wird mithilfe eines Algorithmus erstellt und ist für die Blockchain-Verwaltung in der Kryptowährung unerlässlich.
Die zentralen Thesen
- Ein Hash ist eine Funktion, die die für eine Blockchain-Berechnung erforderlichen verschlüsselten Anforderungen erfüllt. Ein Hash ist wie ein Nonce oder eine Lösung das Rückgrat des Blockchain-Netzwerks. Hashes sind von fester Länge, da sie kaum zu erraten sind Die Länge des Hashs, wenn jemand versucht hat, die Blockchain zu knacken. Ein Hash wird basierend auf den Informationen im Blockheader entwickelt.
Wie ein Hash funktioniert
Das Rückgrat einer Kryptowährung ist die Blockchain, ein globales Hauptbuch, das aus der Verknüpfung einzelner Transaktionsdatenblöcke besteht. Die Blockchain enthält nur validierte Transaktionen, wodurch betrügerische Transaktionen und doppelte Ausgaben der Währung verhindert werden. Der resultierende verschlüsselte Wert besteht aus einer Reihe von Zahlen und Buchstaben, die den Originaldaten nicht ähneln, und wird als Hash bezeichnet. Beim Cryptocurrency Mining wird mit diesem Hash gearbeitet.
Das Hashing erfordert die Verarbeitung der Daten aus einem Block durch eine mathematische Funktion, was zu einer Ausgabe mit einer festen Länge führt. Die Verwendung einer Ausgabe mit fester Länge erhöht die Sicherheit, da jeder, der versucht, den Hash zu entschlüsseln, anhand der Länge der Ausgabe nicht erkennen kann, wie lang oder kurz die Eingabe ist.
Das Lösen des Hashs löst im Wesentlichen ein komplexes mathematisches Problem und beginnt mit den im Blockheader verfügbaren Daten. Jeder Blockheader enthält eine Versionsnummer, einen Zeitstempel, den im vorherigen Block verwendeten Hash, den Hash der Merkle Root, den Nonce und den Ziel-Hash.
Der Bergmann konzentriert sich auf das Nonce, eine Folge von Zahlen. Diese Nummer wird an den gehashten Inhalt des vorherigen Blocks angehängt, der dann selbst gehasht wird. Wenn dieser neue Hash kleiner oder gleich dem Ziel-Hash ist, wird er als Lösung akzeptiert, der Miner erhält die Belohnung und der Block wird zur Blockchain hinzugefügt.
Der Validierungsprozess für Blockchain-Transaktionen basiert auf Daten, die mit algorithmischem Hashing verschlüsselt werden.
Um den Hash zu lösen, muss der Miner bestimmen, welcher String als Nonce verwendet werden soll. Dies liegt daran, dass das Nonce eine zufällige Zeichenfolge ist. Es ist sehr unwahrscheinlich, dass ein Bergmann beim ersten Versuch erfolgreich das richtige Nonce findet, was bedeutet, dass der Bergmann möglicherweise eine große Anzahl von Nonce-Optionen testet, bevor er es richtig macht. Je größer die Schwierigkeit ist - ein Maß dafür, wie schwierig es ist, einen Hash zu erstellen, der die Anforderungen des Ziel-Hashs erfüllt -, desto länger wird die Generierung einer Lösung wahrscheinlich dauern.
Ein Beispiel für einen Hash
Das Hashing des Wortes "Hallo" erzeugt eine Ausgabe, die der Länge des Hashs für "Ich gehe in den Laden" entspricht. Die zum Generieren des Hashs verwendete Funktion ist deterministisch, dh, sie erzeugt jedes Mal das gleiche Ergebnis Eingabe wird verwendet. Es kann eine gehashte Eingabe effizient generieren, erschwert das Ermitteln der Eingabe (was zum Mining führt) und führt bei kleinen Änderungen an der Eingabe zu einem nicht erkennbaren, völlig anderen Hash.
Die Verarbeitung der zum Verschlüsseln neuer Blöcke erforderlichen Hash-Funktionen erfordert eine erhebliche Rechenleistung, die kostspielig sein kann. Um Einzelpersonen und Unternehmen, die als Miner bezeichnet werden, dazu zu bewegen, in die erforderliche Technologie zu investieren, werden sie von Kryptowährungsnetzwerken sowohl mit neuen Kryptowährungstoken als auch mit einer Transaktionsgebühr belohnt. Bergleute werden nur entschädigt, wenn sie als erste einen Hash erstellen, der die im Ziel-Hash festgelegten Anforderungen erfüllt.