Bei Bitcoin treten viele Forks auf, wenn mehrere Miner gleichzeitig Blöcke abbauen. Dann gibt es mehrere Blöcke auf derselben Blockhöhe. Ich habe mir den Bitcoin P2P-Entwicklerleitfaden unter https://developer.bitcoin.org/devguide/p2p_network.html angesehen
Für die Weitergabe von Blöcken sendet ein Relais eine "inv"-Nachricht an seine Peers. Die Peers fordern Header-Informationen mit „getheaders“ an und das Relay antwortet mit der „headers“-Nachricht. Dann fordern die Peers Blockinformationen mit "getdata" an und das Relay antwortet mit der "block"-Nachricht.
Wie können Peers in diesem Fall sicherstellen, dass sie mehrere Blöcke mit derselben Blockhöhe erhalten? Ein Relais könnte absichtlich "inv"- und "headers"-Nachrichten für nur einen der Blöcke auf derselben Blockhöhe verbreiten.
Wie können Peers überhaupt wissen, dass ein Fork stattgefunden hat? Liegt es in der Verantwortung des Relays oder des Peers, die Informationen über den Fork zu erhalten?
Eine Sicherheitsannahme ist, dass Knoten mit mindestens einem ehrlichen Peer verbunden sind. Wenn alle ihre Kollegen böswillig sind, ist es für sie durchaus möglich, einem Opfer Informationen über bestimmte Blöcke oder Transaktionen vorzuenthalten. Sehen Sie sich Eclipse-Angriffe an, wenn Sie mehr über diese Art von Angriffen oder die Gegenmaßnahmen wissen möchten.
satja
satja
Pieter Wuille
satja
satja
satja
Pieter Wuille
Pieter Wuille