Wann beschließt ein Miner, das Sammeln von Transaktionen einzustellen und mit der Berechnung von Hashes zu beginnen, um zu versuchen, zu gewinnen?

Ich bin verwirrt darüber, ob ein Miner auf weitere Transaktionen (mehr Gebühren) wartet oder beginnt, sobald er die erste Transaktion vom Netzwerk erhält. Sobald ein Miner mit der Berechnung der Hashes begonnen hat, stellt er die neuen Transaktionen in die Warteschlange, richtig?

Meine Verwirrung ist: Jeder Miner-Knoten berechnet den Hash für einen anderen Block. Einige haben mehr Transaktionen als andere. Spielt es eine Rolle?

Wenn ich das Glück habe, die Lösung für einen Block mit nur einer Transaktion zu finden, aber jemand anderes die Lösung für einen Block mit meiner Transaktion und einer weiteren findet, gewinnt er, richtig?

Je mehr Transaktionen sich also in einem Block befinden, desto schwieriger ist es, das Hash-Rätsel zu lösen, ist das richtig? Wenn ja, warum?

Kann jemand erklären, wie diese Transaktionsgruppierung von Mining-Knoten durchgeführt wird?

Antworten (2)

Ich bin verwirrt darüber, ob ein Miner auf weitere Transaktionen (mehr Gebühren) wartet oder beginnt, sobald er die erste Transaktion vom Netzwerk erhält. Sobald ein Miner mit der Berechnung der Hashes begonnen hat, stellt er die neuen Transaktionen in die Warteschlange, richtig?

Ja, sie können mit dem Mining beginnen, sobald sie die vorherige sehen, und die Blockvorlage mit neuen Transaktionen aktualisieren, die sie sehen, wann immer sie möchten. Der frühe Satoshi-Client aktualisierte die Vorlage alle paar Sekunden, moderne Miner scheinen dies je nach Software alle halbe Minute oder länger zu tun. Es hat keinen Vorteil für sie, die Blockvorlage zu aktualisieren, außer dass sie möglicherweise mehr Gebühren erhalten, wenn sie Transaktionen verpassen, es kein wirklicher Schaden entsteht.

Wenn ich das Glück habe, die Lösung für einen Block mit nur einer Transaktion zu finden, aber jemand anderes die Lösung für einen Block mit meiner Transaktion und einer weiteren findet, gewinnt er, richtig?

Nein, das ist nicht korrekt, kein Miner bricht die Verbindung mit der Anzahl der Transaktionen in einem Block. Zuerst gesehen wird im Allgemeinen das Verhalten sein, das die meisten Leute verwenden, wenn sie zwei konkurrierende Blöcke auf gleicher Höhe mit einem Ziel mit gleichem Schwierigkeitsgrad sehen können. Wenn sie es mit der Anzahl der Transaktionen schaffen würden, könnten die Miner Blöcke bauen, die mit ihren eigenen gefälschten gefüllt sind, und immer alle Rennen gewinnen.

Je mehr Transaktionen sich also in einem Block befinden, desto schwieriger ist es, das Hash-Rätsel zu lösen, ist das richtig?

Nein, der Header eines Blocks ist immer 80 Bytes lang, unabhängig davon, wie viele Transaktionen der Block tatsächlich enthält. Dies liegt daran, dass der Blockheader nur einen Hash der Transaktionen und nicht den Transaktionsinhalt selbst enthält. Die Schwierigkeit ist die gleiche für einen Block ohne andere Transaktionen als die, die den Miner bezahlt, oder einen Block mit Tausenden.

Kann jemand erklären, wie diese Transaktionsgruppierung von Mining-Knoten durchgeführt wird?

Das ist schwer zu beantworten, weil die meisten Pools vollständig kundenspezifische Software verwenden, sie haben ihre eigenen Kriterien und ihre eigenen Optimierungen, die sie durchführen. Im Allgemeinen sammeln sie alle gültigen Transaktionen, die die Gebühr haben, die sie akzeptieren möchten, und fügen sie zu einem Block der maximalen Größe zusammen, die sie erstellen möchten. Alle nicht enthaltenen werden im Speicherpool für später oder für jemand anderen zum Mining belassen .

vielen Dank für deine klare Erklärung. Wenn es Ihnen nichts ausmacht, könnten Sie diese andere Frage zu dieser beantworten: bitcoin.stackexchange.com/questions/40399/…

Unter dem aktuellen System warten Miner niemals. Die Transaktionsgebühren sind ein zu kleiner Teil der gesamten Blockbelohnung, als dass sich die Leute darum kümmern könnten.

Sie meinen, die Bergleute lösen immer einen Block mit den vorherigen Transaktionen, die sie in die Warteschlange gestellt hatten?
@PeterMel Ja, das ist richtig.