Wann fügen Miner der Blockchain einen neuen Block hinzu?

Ich bin ein bisschen neu in Blockchain und versuche zu verstehen.

Soweit ich weiß, wird eine neue Transaktion zu einem Mining-Pool hinzugefügt, und Miner priorisieren diese Transaktionen (z. B. nach Höhe der Gebühr) und wählen einige Transaktionen aus, um sie zum Blockieren hinzuzufügen (max. 1 MB).

Es ist aber auch möglich, dass ein Block leer ist (ohne Transaktionen).

Wenn also einige Blöcke leer sind, bedeutet dies, dass die Erstellung neuer Blöcke zu bestimmten Zeiten beginnt? (Gibt es einen Zeitplan wie alle 5 Minuten oder so?)

Oder löst etwas Miner aus, um einen neuen Block zu erstellen?

Seit vielen Jahren gibt es keine Beschränkung der Blockgröße von 1 MB. Seit Segwit sind aktivierte Blöcke im Durchschnitt größer.

Antworten (1)

Der Ablauf einer Transaktion ist wie folgt:

  • Benutzer erstellen und übermitteln Transaktionen
  • Nodes klatschen über die Transaktion im Netzwerk, validieren sie, fügen sie zu ihren Mempools hinzu und leiten sie weiter
  • Miner wählen Transaktionen aus ihren Mempools aus, um Blockvorlagen zu erstellen
  • Es wird ein neuer Block gefunden, der die übermittelte Transaktion enthält, und die Transaktion wird bestätigt

Bergleute schürfen ununterbrochen – jeder von ihnen versucht immer, einen neuen Block zu finden. Ein Block wird gefunden, wenn ein Block-Header auf etwas gehasht wird, das niedriger als das Schwierigkeitsziel ist. Es gibt keine Möglichkeit zu wissen, ob ein Block-Header-Kandidat ein gültiger Block ist, bis er gehasht ist. Da jeder Miner versucht, sich die Mining-Belohnung zu zahlen, haben sie alle einzigartige Blockvorlagen (da ihre Transaktionen nicht übereinstimmen, unterscheidet sich die Merkle-Wurzel der Transaktionen). Das bedeutet, dass jeder Miner nach zuvor ungesehenen Blockkandidaten sucht und das Finden eines neuen Blocks im Wesentlichen auf ein unabhängiges Zufallsereignis mit einer winzigen Chance für jede Blockvorlage hinausläuft. Manchmal dauert es nur Sekunden, bis ein neuer Block gefunden wird, und manchmal dauert es mehr als eine Stunde. Die Schwierigkeit wird automatisch neu ausgerichtet, um das erwartete Blockintervall auf etwa 10 Minuten zu halten.

Bergleute aktualisieren ihre Blockvorlagen kontinuierlich, wenn sie von neuen Transaktionen hören. Wie Sie sagten, wählen sie die Transaktionen mit den höchsten Gebühren aus, um die Blockvorlage zu erstellen, mit der die meisten Gebühren erhoben werden.
Wenn Miner von neuen Blöcken hören, verwenden sie kurz eine leere Blockvorlage, die keine Transaktionen enthält. Die Miner tun dies, um zu vermeiden, dass eine Transaktion eingeschlossen wird, die der vorherige Block bereits enthielt, was dazu führen würde, dass ihr neuer Block in Konflikt gerät und ungültig wird. Sobald die Miner den vorherigen Block verarbeitet haben, bauen sie wieder eine neue Blockvorlage mit Transaktionen und verwenden diese. Daher sehen wir normalerweise nur dann leere Blöcke, wenn ein neuer Block Sekunden nach einem vorherigen Block gefunden wird oder wenn tatsächlich keine Transaktionen darauf warten, bestätigt zu werden.

Nette Antwort, die meine Perspektive verändert hat :) Aber nur eine kleine Frage zur Klarstellung. U sagte: „Miner tun dies, um zu vermeiden, dass eine Transaktion eingeschlossen wird, die der vorherige Block bereits enthielt, was dazu führen würde, dass ihr neuer Block in Konflikt gerät und ungültig wird.“ Aber warum gibt es, anstatt einfach den Erstellungsprozess zu stoppen und neue Transaktionen zu suchen, neue leere Blöcke? (Für eine Auszeichnung?)
Und U sagte "oder ob es tatsächlich keine Transaktionen gibt, die darauf warten, bestätigt zu werden". Wenn es keine neuen Transaktionen gibt, warum wird anstelle des Stoppens ein leerer Block erstellt? Nehmen wir also an, wenn in einer Blockchain keine Transaktion existiert, wird der Mining-Prozess fortgesetzt?
Die Belohnung für das Schürfen eines Blocks besteht aus zwei Teilen: den Transaktionsgebühren und einer Menge an neu zu erstellenden Bitcoins. Die Miner können die neuen Coins auch dann sammeln, wenn sie keine Transaktionen beinhalten. Da die Transaktionsgebühren derzeit nur einen kleinen Teil der Blockbelohnung ausmachen, ist das Schürfen leerer Blöcke noch sehr profitabel.
Die Miner wissen nicht, ob sie eine Transaktion erst gesehen haben, nachdem sie in den vorherigen Block aufgenommen wurde, daher reicht es nicht aus, wenn sie nur neu für sie ist, um sie in ihre Blockvorlage aufzunehmen. Sie müssen die Verarbeitung des vorherigen Blocks abschließen, um zu wissen, welche Transaktionen sicher aufgenommen werden können.