Nonce
Eine Nonce ist eine Zahl oder ein Wert, der nur einmal verwendet werden kann. Nonces werden häufig in Authentifizierungsprotokollen und kryptografischen Hash-Funktionen verwendet. Im Zusammenhang mit der Blockchain-Technologie bezieht sich eine Nonce auf eine Pseudo-Zufallszahl, die während des Mining-Prozesses als Zähler verwendet wird.
Bitcoin Miner müssen beispielsweise versuchen, eine gültige Nonce zu erraten, während sie mehrere Versuche unternehmen, einen Block-Hash zu berechnen, der bestimmte Anforderungen erfüllt (d. h. mit einer bestimmten Anzahl von Nullen beginnt). Beim Wettbewerb um einen neuen Block erhält der erste Miner, der eine Nonce findet, die einen gültigen Blockhash ergibt, das Recht, den nächsten Block in die Blockchain aufzunehmen – und wird dafür belohnt.
Mit anderen Worten: Der Mining-Prozess besteht darin, dass Miner eine Vielzahl von Hash-Funktionen mit vielen verschiedenen Nonce-Werten ausführen, bis ein gültiges Ergebnis erzielt wird. Wenn der Hash-Output eines Miners unter den vorgegebenen Schwellenwert fällt, gilt der Block als gültig und wird der Blockchain hinzugefügt. Wenn die Ausgabe nicht gültig ist, versucht der Miner es weiter mit verschiedenen Nonce-Werten. Wenn ein neuer Block erfolgreich gemined und validiert wurde, beginnt der Prozess von vorne.
Bei Bitcoin – und den meisten Proof-of-Work-Systemen – ist die Nonce lediglich eine Zufallszahl, die Miner verwenden, um die Ausgabe ihrer Hash-Berechnungen zu überprüfen. Miner verwenden einen Trial-and-Error-Ansatz, bei dem jede Berechnung einen neuen Nonce-Wert annimmt. Sie tun dies, weil die Wahrscheinlichkeit, eine gültige Nonce richtig zu erraten, gegen Null geht.
Die durchschnittliche Anzahl der Hashing-Versuche wird vom Protokoll automatisch angepasst, um sicherzustellen, dass jeder neue Block – im Durchschnitt – alle 10 Minuten erzeugt wird. Dieser Prozess wird als Difficulty-Anpassung bezeichnet und bestimmt den Schwellenwert für das Mining (d. h. wie viele Nullen der Block-Hash zu Beginn haben muss, um als gültig zu gelten). Die Difficulty beim Mining eines neuen Blocks hängt mit der Menge an Hashing-Leistung (Hash-Rate) zusammen, die für ein Blockchain-System bereitgestellt wird. Je mehr Hashing-Leistung dem Netzwerk zur Verfügung steht, desto höher ist der Schwellenwert, d. h., es ist mehr Rechenleistung erforderlich, um ein wettbewerbsfähiger und erfolgreicher Miner zu sein. Entscheiden sich Miner dagegen, das Mining einzustellen, wird die Difficulty angepasst und der Schwellenwert sinkt, so dass weniger Hashing-Leistung zum Mining erforderlich ist. Das Protokoll stellt jedoch sicher, dass die Blockerzeugung trotzdem einem 10-Minuten-Zeitplan folgt.
« Zurück zum Glossar Index