Soweit ich weiß, ist der Mining-Prozess wie folgt:
Schritt 1: Sammeln Sie eine Reihe von Transaktionen und konstruieren Sie einen Block, indem Sie die erforderlichen Informationen wie den Hash des vorherigen Blocks und die Wurzel des Merkle-Baums usw.
Schritt 2: Lösen eines Rätsels durch ständiges Ändern des 'Nonce'-Feldes des Blocks, um den Hash des Block-Headers kleiner als ein Ziel zu machen.
Wenn ein Miner einen Block gebaut hat (Schritt 1) und versucht, das Rätsel zu lösen (Schritt 2), kommt eine sehr attraktive Transaktion mit hoher Gebühr, wird der Miner die Arbeit, die er getan hat, aufgeben, den Block rekonstruieren und das Lösen neu starten Puzzle?
Ein modernes Mining-System wird beides leisten.
Heutzutage verfügen Miner und Mining-Pools über mehr Hashpower als erforderlich, um alle Iterationen einer Nonce und ExtraNonce auf eine einzelne Blockvorlage zu prüfen. Sie umgehen dies, indem sie nacheinander an mehreren Blockvorlagen arbeiten, die normalerweise den Blockzeitstempel, die Daten in der Coinbase-Transaktion und die Liste der ausgewählten Transaktionen variieren.
Diese aktualisierten Blockvorlagen werden ständig parallel zu den eigentlichen Hashing-Operationen generiert – wenn attraktivere Transaktionen entdeckt werden, wird der nächste Satz von generierten Blockvorlagen aktualisiert, um diese Transaktionen zu enthalten. Sobald die Mining-Hardware mit ihrem aktuellen Block-Template fertig ist, holt sie sich ein neues, wahrscheinlich optimales Template aus dem Pool.
Wenn ein einzelner Worker einen gültigen Block mit einem suboptimalen Template entdeckt, werden Miner diesen Block übertragen – es macht wenig Sinn, einen Block über eine relativ geringe Gebührenerhöhung hinaus zu verwerfen und auf die gesamte Blockbelohnung zu verzichten.
Die Blockvorlage wird (vielleicht) alle paar Sekunden mit neuen Transaktionen aktualisiert.
Wird der Bergmann die Arbeit, die er getan hat, aufgeben?
Jeder Block mit einem Hash, der das Ziel erfüllt, wird weitergegeben. Aber wenn kein Block erstellt wurde, denken Sie daran, dass Mining ein Poisson-Prozess ist, dessen wichtigste Eigenschaft die Gedächtnislosigkeit ist . Wenn das Mining eines Blocks durchschnittlich 10 Minuten dauert und nach 5 Minuten Mining das Ändern der Blockvorlage die erwartete Zeit bis zum nächsten Block nicht verkürzen würde (daher ist "aufgeben" nicht das beste Wort).
den Block rekonstruieren und das Rätsel erneut lösen?
Ja.
Wenn ein Miner einen Block gebaut hat (Schritt 1) und versucht, das Rätsel zu lösen (Schritt 2), kommt eine sehr attraktive Transaktion mit hoher Gebühr, wird der Miner die Arbeit, die er getan hat, aufgeben, den Block rekonstruieren und das Lösen neu starten Puzzle?
Entweder erzeugte diese Arbeit eine Blockade oder nicht. Wenn es einen Block erzeugt hat, wird er diesen Block definitiv übertragen. Wenn es keinen Block erzeugt hat, verliert er nichts, wenn er es aufgibt. Es gibt also keine „erledigte Arbeit“, die er „aufgeben“ könnte.
Die Arbeit der Miner erzeugt entweder einen Block oder nicht. Es gibt keine Möglichkeit, einen Teil des Weges zur Produktion eines Blocks zu gehen, nur um von vorne zu beginnen.
David Schwarz
Besser