Was ist Nonce?
Ein Nonce ist eine Abkürzung für "Nummer nur einmal verwendet". Hierbei handelt es sich um eine Nummer, die einem gehashten oder verschlüsselten Block in einer Blockchain hinzugefügt wird, der beim erneuten Aufbereiten die Einschränkungen des Schwierigkeitsgrads erfüllt. Das Nonce ist die Zahl, nach der Blockchain-Minenarbeiter suchen. Wenn die Lösung gefunden ist, wird den Blockchain-Minern im Austausch eine Kryptowährung angeboten.
Die zentralen Thesen
- Nonce oder eine "Zahl, die nur einmal verwendet wird" bezieht sich auf die erste Zahl, die ein Blockchain-Miner ermitteln muss, bevor er einen Block in der Blockchain auflösen kann. Sobald die mathematischen Berechnungen vom Miner gelöst werden, sind sie für ihre Zeit und ihr Können eine begabte Kryptowährung.Nonce ist schwer zu finden und wird als ein Weg angesehen, um die weniger talentierten Crypto Miner auszusortieren. Die Welt des Crypto Mining ist herausfordernd und man benötigt oft exzellente Rechenleistung, um überhaupt zu versuchen, das Nonce zu lösen.
Nonce verstehen
Die Blockchain ist der Eckpfeiler der Kryptowährung. Um die Blockchain sicher zu halten, werden Daten aus vorherigen Blöcken in eine Reihe von Zahlen und Buchstaben verschlüsselt oder „gehasht“. Dies erfolgt durch Verarbeiten der Blockeingabe über eine Funktion, die eine Ausgabe mit einer festen Länge erzeugt.
Die zur Generierung des Hashs verwendete Funktion ist deterministisch. Dies bedeutet, dass sie bei jeder Verwendung derselben Eingabe dasselbe Ergebnis liefert. Dies bedeutet auch, dass die Funktion eine Hash-Eingabe effizient generieren kann, die Ermittlung der Eingabe erschwert (was zum Mining führt) und kleine Änderungen an der Eingabe zu einem ganz anderen Hash führen. Dieses komplexe System schafft das Datenschutznetz der Blockchain.
Besondere Überlegungen: Das Nonce entdecken
Das Hinzufügen von Transaktionen zur Blockchain erfordert erhebliche Rechenleistung. Die Personen und Unternehmen, die Blöcke verarbeiten, werden Bergleute genannt. Bergleute werden nur dann entschädigt, wenn sie als erste einen Hash erstellen, der eine bestimmte Reihe von Anforderungen erfüllt, den so genannten Ziel-Hash.
Der Prozess des Erratens des Hashs beginnt im Blockheader. Es 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.
Das erfolgreiche Mining eines Blocks setzt voraus, dass ein Miner als erster das Nonce errät. Hierbei handelt es sich um eine zufällige Folge von Zahlen, die an den gehashten Inhalt des Blocks angehängt und anschließend erneut verarbeitet werden.
Wenn der Hash die im Ziel festgelegten Anforderungen 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.
Das Ermitteln der als Nonce zu verwendenden Zeichenfolge erfordert eine erhebliche Menge an Versuchen und Fehlern, da es sich um eine zufällige Zeichenfolge handelt. Ein Miner muss eine Nonce erraten, sie an den Hash des aktuellen Headers anhängen, den Wert erneut aufbereiten und mit dem Ziel-Hash vergleichen. Wenn der resultierende Hash-Wert den Anforderungen entspricht, hat der Miner eine Lösung erstellt und erhält den Block.
Es ist sehr unwahrscheinlich, dass ein Bergmann das Nonce beim ersten Versuch erfolgreich erraten wird, 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 kleiner als das Ziel ist -, desto länger wird es wahrscheinlich dauern, bis eine Lösung gefunden wird.
Der Block-Schwierigkeitsgrad bleibt im gesamten Netzwerk gleich, was bedeutet, dass alle Miner die gleiche Chance haben, den richtigen Hash herauszufinden. Kryptowährungsnetzwerke legen in der Regel eine Zielanzahl von Blöcken fest, die während eines bestimmten Zeitraums verarbeitet werden sollen, und passen den Schwierigkeitsgrad regelmäßig an, um sicherzustellen, dass dieses Ziel erreicht wird. Wenn die Anzahl der verarbeiteten Blöcke dieses Ziel nicht erreicht, wird der Schwierigkeitsgrad verringert, wobei der Schwierigkeitsgrad auf die Zeitdauer festgelegt wird, die über dem Grenzwert liegt, der für die Verarbeitungszeit festgelegt wurde.