Ich verstehe, wie ein neuer Block erstellt und von dem Miner, der ihn erstellt hat, verifiziert wird.
Aber bewirbt es diesen neuen Block dann bei nahen Knoten? Und wie gehen diese Knoten vor, um dies zu überprüfen? Hören sie auf, ihre eigenen Blöcke abzubauen?
Wie verhindern Sie, dass andere Nodes den neuen Block stehlen und vorgeben, es sei ihr eigener? (Ich denke, die mit der eigenen Adresse enthaltene Übertragung verhindert dies?)
Ich verstehe, dass es mehrere Zweige gleichzeitig geben kann, und schließlich überlebt einer, aber wie wird verhindert, dass mehrere Zweige über einen längeren Zeitraum am Leben bleiben?
Wenn ein Knoten einen neuen Block entdeckt, sendet er eine (unaufgeforderte) inv
(Bestandsnachricht), um den neuen Block seinen Peers anzukündigen. Die Peers sollten dann antworten, indem sie eine getdata
Nachricht senden, in der sie entweder den Header oder den vollständigen Block anfordern.
Die Entwicklerreferenz beschreibt die ausgetauschten Nachrichten ausführlicher.
Die Nodes überprüfen dann den Header und jede enthaltene Transaktion auf Einhaltung der Konsensregeln. Höchstwahrscheinlich werden sie sofort mit dem Mining neuer leerer Blöcke auf der Grundlage des Headers beginnen (da sie nicht wissen, welche Transaktionen noch unbestätigt sind) und dann zum Mining eines nicht leeren Blocks wechseln, sobald der empfangene Block validiert wurde.
Jeder Block enthält eine Transaktion, die die Mining-Belohnung an seinen Miner sendet. Andere Knoten können diese Transaktion nicht ändern, da der Block nicht mehr gültig wäre. Siehe Was ist die Coinbase?
Wenn zwei Blöcke 1A
und 1B
gleichzeitig gefunden werden, wird jede Kettenspitze von einem Teil des Netzwerks als gültig betrachtet. Sobald ein neuer Block 2
gefunden ist, kann er nur eine der beiden Kettenspitzen verlängern (hier 1A→2A
), wodurch eine der beiden Kettenspitzen als Teil der Kette mit der meisten Arbeit ausgezeichnet wird. Wenn die Knoten von diesem neuen Block 2A
erfahren, werden sie ihre veraltete Kettenspitze verwerfen 1B
und zur "längsten Kette" neu organisieren 1A→2A
.
Da es unwahrscheinlich ist, dass eine darauf aufbauende Kette 1B
jemals in der Lage sein wird, die 1A→2A
Kette zu überholen, würden Miner ihre Kraft verschwenden, um weiter an der veralteten Kette zu arbeiten. Somit wird dem Netzwerk ein starker Anreiz geboten, auf der einen Kette mit der meisten Arbeit zusammenzulaufen.
Mursch