Wenn ich das richtig verstehe, hat der Block nur 4 Bytes (32 Bit) für die Nonce. Kann die Schwierigkeit so hoch werden, dass es keine einmaligen Lösungen mehr gibt? Wenn ja, welche Möglichkeiten hat ein Miner dann?
Die Schwierigkeit geht bereits so weit, dass über eine Billiarde Hashes erforderlich sind, um einen Block zu lösen. 2^32 sind nur 4 Milliarden. Weniger als einer von einer Milliarde Mal wird es eine Nonce geben, die den Block gültig macht.
Ein Miner muss einfach jede mögliche Nonce auf einem anderen Block ausprobieren. Er kann die Coinbase, das Transaktionsset und/oder den Blockzeitstempel variieren. Jede Änderung an einem dieser Dinge führt zu einer neuen Chance, dass es eine gültige Nonce gibt.
Oft ist es die beste Wahl, den Zeitstempel zu erhöhen, eine Praxis, die als NTime Rolling bezeichnet wird .
Der Block-Zeitstempel muss sowieso nicht genau sein, also können Sie den Zeitstempel zurücksetzen, sagen wir, zehn Sekunden, bevor Sie mit dem Mining beginnen, und ihn dann 20 Mal erhöhen, bevor Sie aufgeben und einen neuen Block erhalten. Im schlimmsten Fall wird Ihr Block-Zeitstempel um etwa ein Dutzend Sekunden abweichen – niemand kümmert sich darum.
Danach möchten Sie wahrscheinlich einen neuen Block erhalten, da möglicherweise einige neue Transaktionen einbezogen werden müssen. Dies verbessert nicht nur die Effizienz des Netzwerks als Ganzes, sondern verringert auch die Wahrscheinlichkeit, dass Ihnen eine Transaktionsgebühr entgeht.
Ob es eine Lösung gibt oder nicht, hängt vom Inhalt des Blocks sowie von den möglichen Werten der Nonce ab.
Der Transaktionsblock kann bei Bedarf geändert werden, was im Wesentlichen bedeutet, dass Sie weitere 32 Bits an Nonce-Werten zum Ausprobieren erhalten. Es gibt eine zusätzliche Komponente eines Transaktionsblocks namens "Coinbase", die geändert werden kann, ohne die tatsächlichen Transaktionen innerhalb des Blocks zu ändern. Dies diente in der Vergangenheit dazu , Kurznachrichten in die Blockchain einzufügen .
Tod und Steuern