Nonce

Lesezeit: 2 minuti

Un Nuntius bezieht sich auf eine Zahl oder einen Wert, der nur einmal verwendet werden kann.

Nonces werden häufig in Authentifizierungsprotokollen und in kryptografische Hash-Funktionen. Im Kontext der Technik Blockchain, eine Nonce bezieht sich auf eine Pseudo-Zufallszahl, die während des Extraktionsprozesses 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). Im Wettbewerb um das Mining eines neuen Blocks hat der erste Miner, der eine Nonce findet, die zu einem gültigen Block-Hash führt, das Recht, den nächsten Block in der Blockchain hinzuzufügen – und wird dafür belohnt.

Mit anderen Worten, der Bergbauprozess besteht aus Minern, die eine Vielzahl von Hash-Funktionen mit vielen verschiedenen Nonce-Werten ausführen, bis eine gültige Ausgabe erzeugt wird. Wenn die Hashing-Ausgabe eines Miners unter den vorgegebenen Schwellenwert fällt, wird der Block als gültig angesehen und der Blockchain hinzugefügt. Wenn die Ausgabe ungültig ist, versucht der Miner weiterhin mit verschiedenen Nonce-Werten. Wenn ein neuer Block erfolgreich extrahiert und validiert wurde, beginnt der Prozess von vorne.

In Bitcoin – und in den meisten Proof-of-Work-Systemen – ist die Nonce nur eine Zufallszahl, die Miner verwenden, um die Ausgabe ihrer Hash-Berechnungen zu iterieren. Bergleute verfolgen einen Ansatz durch Ausprobieren, wobei jede Berechnung einen neuen Nonce-Wert annimmt. Sie tun dies, weil die Wahrscheinlichkeit, eine gültige Nonce genau zu erraten, nahe Null liegt.

Die durchschnittliche Anzahl der Hashing-Versuche wird vom Protokoll automatisch angepasst, um sicherzustellen, dass jeder neue Block – im Durchschnitt – alle 10 Minuten generiert wird. Dieser Vorgang ist bekannt als Schwierigkeitsanpassung und es bestimmt die Extraktionsschwelle (d. h. wie viele Nullen der Block-Hash haben muss, um als gültig zu gelten). Die Schwierigkeit, einen neuen Block zu extrahieren, hängt mit der Menge an Hashing-Power zusammen (Hash-Rate oder hashrat) an einem Blockchain-System beteiligt. Je mehr Hashing-Leistung dem Netzwerk gewidmet ist, desto höher wird der Schwellenwert sein, was bedeutet, dass mehr Rechenleistung benötigt wird, um ein wettbewerbsfähiger und erfolgreicher Miner zu sein. Umgekehrt, wenn Miner beschließen, das Mining einzustellen, wird die Schwierigkeit angepasst und der Schwellenwert sinkt, sodass weniger Rechenleistung für das Mining erforderlich ist, aber das Protokoll lässt die Blockgenerierung unabhängig davon einem 10-Minuten-Plan folgen.