Wann markiert ein Node eine Transaktion als bestätigt oder unbestätigt?

Wenn neue Transaktionen gesendet werden, halten die Knoten sie in einem Pool unbestätigter Transaktionen.

Ein Knoten fügt es einem Block hinzu, sobald er einen Arbeitsnachweis findet. Gleichzeitig arbeiten viele andere Nodes an denselben Transaktionen. Wenn ein neuer Block an das Netzwerk gesendet wird, sollte er entweder als bestätigt markiert oder aus dem Pool entfernt werden.

Ich habe ein paar Fragen zu diesem Vorgang:

1- Woher wissen die anderen Knoten, dass der neue Block bereits erstellt wurde, sodass sie aufhören sollten, daran zu arbeiten? (oder nicht?)

2- Wenn ein neuer Transaktionsblock zur Blockchain hinzugefügt wird, woher wissen die anderen Knoten, dass sie diese Transaktionen bei ihrem nächsten Versuch nicht berücksichtigen sollten? Sie lesen den Knoten und markieren die Transaktion als bestätigt oder entfernen sie? Gibt es eine andere Art von Botschaft, die sie austauschen?

3- wenn 2 neue Blöcke in verschiedenen Zweigen zur Blockchain hinzugefügt werden. die erste Verzweigung als aktiv, weil dieser Block zuerst kam. ein neuer Block kommt an und der zweite Zweig wird verworfen. Was passiert mit den Transaktionen in der verworfenen Filiale? Sie sind sicher schon in den anderen beiden Blöcken der Blockchain? Was machen die Knoten damit?

Danke!

Antworten (1)

  1. Sie wissen nichts über den neuen Block, bis sie ihn über das Peer-to-Peer-Netzwerk (oder auf andere Weise, z. B. FIBER ) erhalten. Da es jedoch an das Netzwerk gesendet wurde und alle Knoten im Netzwerk versuchen, es an alle ihre Peers weiterzuleiten, sollte dies ziemlich schnell geschehen.

  2. Wenn sie den Block erhalten, wissen sie, dass sie diese Transaktionen in ihren eigenen Blöcken ausschließen müssen. (In der Praxis generieren sie wahrscheinlich einen ganz neuen Kandidatenblock, der nur noch nicht bestätigte Transaktionen enthält, und mit einem neuen Header, der den gerade empfangenen Block als übergeordneten Block auflistet.)

  3. Wenn der Knoten seine Meinung darüber ändert, welche Verzweigung aktiv ist, werden Transaktionen von der zuvor aktiven Verzweigung (nach dem Block, in dem sie auseinandergegangen sind) an den Speicherpool zurückgegeben, mit Ausnahme derer, die sich bereits in der neuen aktiven Verzweigung befinden oder mit a in Konflikt stehen Transaktion in dieser Filiale. Dann können sie, genau wie alle anderen Transaktionen im Speicherpool, in zukünftige Blöcke aufgenommen werden, die von diesem Knoten erstellt werden.