Warum nach mehreren Nonces suchen, obwohl man eine goldene Nonce findet?

Ich bin noch neu darin, zu versuchen, die gesamte Idee rund um den Mining-Prozess zu verstehen.

Ich habe folgendes gelesen:

Beim Mining erhalten Sie eine Reihe von Daten, an denen Sie Hashes durchführen können. Wie Sie angemerkt haben, geschieht dies durch Manipulieren der Nonce und Hashing jedes Mal, wenn sich die Nonce ändert. Was Sie wirklich tun möchten, ist, alle möglichen Nonces zu überprüfen. Selbst wenn Sie bereits eine „goldene Nonce“ gefunden haben (eine, die Ihnen einen Hash gibt, der mit 32 Nullen beginnt), müssen Sie weiter nach mehr suchen. Es könnte irgendwo zwischen 0 und 2^32 Lösungen für einen bestimmten Aufgabenblock geben, also ist es in Ihrem besten Interesse, weiter nach mehr zu suchen. Daher gibt es keine Stoppbedingungen in dem Sinne, wann Sie die Ausführung Ihres Algorithmus beenden sollten, außer wenn Sie alle möglichen Nonces ausgeschöpft haben (an diesem Punkt würden Sie mehr Arbeit bekommen).

Quelle

Das verwirrte mich, weil ich dachte, dass Sie, sobald Sie eine goldene Nonce gefunden haben, diese an das Netzwerk senden und weitermachen können. Warum würden Sie weiterhin nach mehr suchen? Liegt es daran, dass Sie, wenn Sie beispielsweise 5 goldene Nonces gefunden und alle so gesendet hätten, wie Sie sie gefunden haben, eine höhere Wahrscheinlichkeit hätten, dass der nächste Block auf dem einen aufbaut, den Sie gefunden haben? Wenn viele Leute gültige Nonces für einen Block finden, wie wird dann der Gewinner der Belohnung bestimmt, der in die Hauptkette aufgenommen wird?

Antworten (1)

Es gibt einen Unterschied zwischen dem, was im Kontext der Quelle als „goldene Nonce“ bezeichnet wird, und einem gültigen Block-Header-Hash.

Um die Auszahlungsvarianz zu reduzieren, gruppieren sich Miner in Pools und teilen ihr Einkommen proportional zu ihrer Hashpower.

Um die Hashpower jedes Miners zu bestimmen, verwenden Pools ein Share-System: Wenn Sie beim Mining einen Block-Header mit hohem Schwierigkeitsgrad (mit vielen Überschriften-Nullen) finden, der aber nicht hoch genug ist, um über dem aktuellen Ziel zu liegen, senden Sie ihn an den Pool. Diese schwierigen, aber nicht ausreichenden Kopfzeilen werden „Aktien“ genannt.

Da sie viel häufiger gefunden werden als Blöcke (Miner senden oft mehrere davon pro Sekunde), wird Ihre Hashpower, egal wie klein Ihre Hashpower ist, dennoch bei der Auszahlung berücksichtigt, selbst wenn Sie Pech haben. Je mehr Shares Sie senden, desto mehr Hashpower haben Sie, desto größer ist der Anteil am Einkommen des Pools, den Sie erhalten.

Sie werden nicht an das Bitcoin-Netzwerk gesendet, da sie dort sofort abgelehnt würden und für niemanden außer dem Miner, der sie gefunden hat, und der Pool-Software von Wert sind.

Damit ist seine Frage überhaupt nicht beantwortet. Du scheinst auf etwas völlig irrelevantes zu antworten.
Der Kontext der Frage ist ein Beitrag über FPGA-Software. Das OP von Source fragt sich, warum es bei der Suche nach gültigen Nonces keine Stoppbedingung gibt. Das liegt daran, dass die Firmware so konzipiert ist, dass sie alle Nonces auf der Suche nach "Schwierigkeit 1-Anteilen" durchläuft, nicht gültige Blockheader, da das FPGA keine Vorstellung davon hat, was die aktuelle Schwierigkeit ist. Da gültige Block-Header auch Schwierigkeit 1 teilen, löst das Senden an den Pool-Server die Übertragung eines Blocks und das Senden neuer Arbeit an das FPGA aus.
Das scheint mir die richtige Antwort zu sein.
Ich auch. Beim Teil „bestes Interesse“ geht es darum, die Menge an Haschisch zu beweisen, die Sie dem Pool liefern, und nicht darum, den nächsten Block zu finden.