Erstellen von Blöcken, während weitere Transaktionen eintreffen, und Nachweis der Arbeitsmechanik

Es fällt mir schwer, die Details zu verstehen, wie Blöcke von Bergleuten erstellt werden, während viele Transaktionen von verschiedenen Knoten zu leicht unterschiedlichen Zeiten empfangen werden und welche Informationen aus diesen Sendungen mit einer Nonce kombiniert werden, um das Ziel zu finden, um den Beweis zu erbringen arbeiten.

Nehmen wir an, Alice schickt Bob 1 BTC. Diese Transaktion wird an das gesamte Netzwerk von Minern gesendet, die dann überprüfen, ob die Transaktion korrekt ist, und versuchen, eine Nonce zu finden, um einen Block mit allen anderen Transaktionen zu erstellen, die sie erhalten haben.

Es finden jedoch viele Transaktionsübertragungen gleichzeitig statt. Transaktionen können aufgrund von Latenz zu unterschiedlichen Zeiten an verschiedenen Knoten ankommen. Woher weiß jeder einzelne Node, wie viele und welche Transaktionen in den Block aufgenommen werden sollen? Was passiert mit Transaktionen, die beim Node ankommen, während der Block „geschürft“ wird? Oder werden dem Block neue Transaktionen hinzugefügt, während er abgebaut wird? Welche Daten aus den Transaktionen werden mit einer Nonce kombiniert und gehasht, um das Ziel zu finden?

Antworten (1)

Der Miner wählt die Transaktionen aus, die er in den Block aufnehmen möchte, aus denen, die er erhalten hat, wenn er mit der Arbeit an diesem Block beginnt, ja. Sobald sie mit dem Mining eines Kandidatenblocks beginnen, ist es für sie normalerweise ineffizient, weitere Transaktionen hinzuzufügen, sodass Transaktionen, die während des Mining-Prozesses empfangen werden, eher einen Block später enthalten sind. Sobald der Block abgebaut ist, wird die Liste der darin enthaltenen Transaktionen über das Netzwerk gesendet, sodass alle Knoten sehen können, welche enthalten waren, alle anfordern können, die sie nicht haben, und überprüfen können, ob es sich um einen gültigen Block handelt.

Der Block-Header ist das, was gehasht wird, er enthält eine Versionsnummer, einen Merkle-Stamm von Transaktionen (im Grunde eine kryptografische Zusammenfassung von allen, auf die festgelegt werden muss, welche enthalten sind), einen Zeitstempel, das Schwierigkeitsziel und den Hash des vorherigen Blocks. Siehe: https://en.bitcoin.it/wiki/Block_hashing_algorithm

Ist es möglich, dass die eine oder viele Transaktionen von verschiedenen Minern ausgewählt werden können?
Ja, verschiedene Miner können verschiedene Transaktionen auswählen oder die Transaktionen innerhalb eines Blocks unterschiedlich anordnen