Der Bitcoin-Entwicklerleitfaden erwähnt veraltete Blöcke als nicht in der längsten Kette und geht dann zu verwaisten Blöcken über. Es besagt, dass Sie keine verwaisten Blöcke erhalten, "und wenn Sie dies tun", werden sie einfach gelöscht. Aber es wird nicht erwähnt, ob veraltete Blöcke auch "aufgegeben" werden (mangels eines besseren Begriffs).
ps Ich denke darüber nach, eine Blockchain für Punkte in meinem Spiel zu verwenden, um eine universelle Top-Ten-Sache zu haben. Alle Kommentare willkommen.
Veraltete und verwaiste Blöcke sind verwirrende Begriffe mit vielen Bedeutungen, je nachdem, wen Sie fragen.
Wenn Sie mit veralteten Blöcken "Blöcke meinen, die sich auf Zweigen der Hauptkette befinden, aber ansonsten gültig sind", ja, diese existieren noch. Sie sind Proof-of-Work-Ketten inhärent, da man den Fall nicht vermeiden kann, dass gelegentlich zwei Miner einen konkurrierenden Block produzieren. Notwendigerweise kann höchstens einer von ihnen gewinnen, und der andere wird schal.
Wenn Sie mit verwaisten Blöcken "Blöcke meinen, deren übergeordneter Header unbekannt ist", existieren diese tatsächlich nicht mehr. Sie waren ein Artefakt der bis 0.9 verwendeten Synchronisationsimplementierung. Seit 0.10 fordern wir Blöcke nur an, wenn wir alle Header in ihrer Herkunft validiert haben, sodass Blöcke ohne bekannte Header nicht mehr auftreten können.
OK, ich habe mehr über veraltete Blöcke in Memory Pools herausgefunden .
Es gibt eine Beschreibung, wie veraltete Blöcke nacheinander mit Ersatz wieder in den Pool hinzugefügt werden, um sofort entfernt zu werden, wenn der Ersatzblock bereits enthalten ist, oder anderweitig vom Bitcoin Core als neue Transaktionen erneut hinzugefügt zu werden, wodurch bestätigte Transaktionen entfernt werden.
Hier ist der Absatz, falls der Link fehlschlägt:
Transaktionen, die in Blöcke abgebaut werden, die später zu veralteten Blöcken werden, können dem Speicherpool wieder hinzugefügt werden. Diese neu hinzugefügten Transaktionen können fast sofort wieder aus dem Pool entfernt werden, wenn die Ersatzblöcke sie enthalten. Dies ist bei Bitcoin Core der Fall, der veraltete Blöcke nach und nach aus der Kette entfernt, beginnend mit der Spitze (höchster Block). Wenn jeder Block entfernt wird, werden seine Transaktionen dem Speicherpool wieder hinzugefügt. Nachdem alle veralteten Blöcke entfernt wurden, werden die Ersatzblöcke nacheinander der Kette hinzugefügt, die mit der neuen Spitze endet. Wenn ein Block hinzugefügt wird, werden alle Transaktionen, die er bestätigt, aus dem Speicherpool entfernt.
Ingenieur
Mursch
G. Maxwell