DEFINITION VON ZIEL-HASH
Ein Ziel-Hash ist eine Zahl, deren Hash-Block-Header kleiner oder gleich sein muss, damit ein neuer Block vergeben wird. Der Ziel-Hash wird zur Bestimmung der Schwierigkeit der Eingabe verwendet und kann angepasst werden, um sicherzustellen, dass Blöcke effizient verarbeitet werden.
BREAKING DOWN Ziel-Hash
Kryptowährungen basieren auf der Verwendung von Blockchains, die die Transaktionshistorien enthalten und gehasht oder in eine Reihe von Zahlen und Buchstaben codiert sind. Beim Hashing wird eine Datenfolge beliebiger Länge verwendet und durch einen Algorithmus ausgeführt, um eine Ausgabe mit einer festen Länge zu erstellen. Die Ausgabe ist immer gleich lang, unabhängig davon, wie groß oder klein die Eingabe ist. Die Verwendung von Hashing bedeutet, dass sich jeder, der sich mit einer Blockchain befasst, den Hash und nicht die Eingabe selbst merken muss. Jeder Block enthält den Hash des vorherigen Blockheaders.
Das Decodieren und Codieren der Blockchain wird als Mining bezeichnet. Beim Mining werden Computer zum Ausführen von Hashing-Algorithmen zum Verarbeiten des neuesten Blocks verwendet. Die für das Mining erforderlichen Informationen befinden sich im Header des Blocks. Das Cryptocurrency-Netzwerk legt einen Zielwert für diesen Hash - den Ziel-Hash - fest, und Miner versuchen, diesen Wert zu ermitteln, indem sie alle möglichen Werte testen.
Der Blockheader enthält die Versionsnummer des Blocks, einen Zeitstempel, den im vorherigen Block verwendeten Hash, den Hash der Merkle Root, den Nonce und den Ziel-Hash. Der Block wird generiert, indem der Hash des Blockinhalts genommen, eine zufällige Folge von Zahlen (das Nonce) hinzugefügt und der Block erneut gehasht wird. Wenn der Hash die Anforderung des Ziels erfüllt, wird der Block zur Blockchain hinzugefügt. Das Durchlaufen von Lösungen, um die Nonce zu erraten, wird als Arbeitsnachweis bezeichnet, und der Bergarbeiter, der den Wert finden kann, erhält den Block und wird in Kryptowährung bezahlt.
Der Ziel-Hash für Bitcoin ist eine 256-Bit-Zahl und befindet sich im Header des Blocks. Beim Mining eines Blocks muss der Miner einen Wert (ein Nonce) erzeugen, der nach dem Hashing kleiner oder gleich dem Wert ist, der im letzten vom Bitcoin-Netzwerk akzeptierten Block verwendet wurde. Diese Zahl liegt zwischen 0 (die kleinste Option) und 256 Bit (die größte Option), es ist jedoch unwahrscheinlich, dass sie jemals die maximale Zahl sein wird. Da der Ziel-Hash eine große Anzahl sein kann, muss der Miner möglicherweise eine große Anzahl von Werten testen, bevor er erfolgreich ist. Ein erfolgloser Bergmann muss auf den nächsten Block warten, was dazu führt, dass Bergleute das Finden einer Hash-Lösung mit dem Gewinnen eines Rennens oder der Lotterie vergleichen.
Der Ziel-Hash wird regelmäßig angepasst. Die Hash-Funktionen, die zum Generieren des neuen Ziels verwendet werden, verfügen über bestimmte Eigenschaften, die die Sicherheit der Blockchain (und der Kryptowährung) gewährleisten. Es ist deterministisch, was bedeutet, dass es jedes Mal dasselbe Ergebnis liefert, wenn dieselbe Eingabe verwendet wird. Es ist schnell genug, um nicht zu lange zu brauchen, um einen Hash für die Eingabe zurückzugeben. Dies erschwert auch das Ermitteln der Eingabe, insbesondere bei großen Zahlen, und führt bei kleinen Änderungen an der Eingabe zu einer sehr unterschiedlichen Hash-Ausgabe.