Eine Nonce ist ein Wert, der innerhalb eines bestimmten Prozesses genau einmal verwendet wird, und im Krypto-Kontext taucht der Begriff in zwei unterschiedlichen, aber verwandten Zusammenhängen auf.
Bei Proof-of-Work-Systemen wie Bitcoin ist die Nonce ein 32-Bit-Feld im Header eines Blocks, das Miner beim wiederholten Hashen des Blocks ständig verändern. Da schon eine winzige Änderung der Eingabe das Ergebnis einer kryptografischen Hashfunktion vollständig verändert, testen Miner Milliarden möglicher Nonce-Werte auf der Suche nach einem Hash, der unter dem aktuellen Schwierigkeitsziel des Netzwerks liegt. Wenn die Mining-Hardware diesen Bereich ohne Erfolg ausgeschöpft hat, passen Miner ein zusätzliches Feld an, die "Extra-Nonce", um den Suchraum zurückzusetzen und weiterzusuchen. Die Nonce, die schließlich einen gültigen Hash liefert, wird manchmal als "Golden Nonce" bezeichnet, und ihr Finden verschafft dem Miner das Recht, den nächsten Block hinzuzufügen und die zugehörige Belohnung zu erhalten.
Auf Kontoebene bekommt der Begriff eine andere Bedeutung. Bei Netzwerken wie Ethereum besitzt jede Wallet-Adresse ihre eigene Nonce: einen einfachen Zähler, der bei null beginnt und mit jeder gesendeten Transaktion um eins steigt. Diese Reihenfolge verhindert, dass Transaktionen außerhalb der richtigen Sequenz verarbeitet werden, und verhindert, dass eine signierte Transaktion erneut gesendet und doppelt ausgeführt wird, ein Schutz vor Replay-Angriffen und versehentlichem Double-Spending.
Beide Verwendungen teilen dieselbe Grundidee: eine Zahl, die einmal verbraucht wird, um Eindeutigkeit zu garantieren, sei es zur Absicherung des Mining-Prozesses oder um den Transaktionsverlauf eines Kontos manipulationssicher zu halten.