Ist es möglich, dass jemand die Kette gabelt?

Ich bin mir nicht sicher, ob ich alles verstanden habe, aber alle Clients behalten immer die längste Kette, ok. Was passiert also, wenn eine böse Person schlechte Transaktionen in einen Block einfügt und ihn erfolgreich schürft (angesichts der Schwierigkeit ist die Wahrscheinlichkeit extrem gering, aber stellen wir uns vor), wie wird das Netzwerk antworten?

Antworten (1)

Die Regel ist, dass die längste* gültige Kette als die aktive betrachtet wird. Wenn Sie einen Forking-Zweig mit ungültigen Transaktionen darin aufbauen, wird das Netzwerk (insbesondere alle Full Nodes – einschließlich Miner) ihn einfach ignorieren. Wenn es ungültig ist, existiert es nicht. Blöcke werden nicht an Peers weitergeleitet, bevor sie vollständig validiert wurden.

Möglicherweise können Sie Lightweight-Clients, die keine vollständige Validierung durchführen, vorübergehend täuschen, aber um eine Kette mit ausreichender Länge aufzubauen, um diese ungültigen Transaktionen zu „bestätigen“, ist eine anhaltend hohe Hashrate erforderlich, von der angenommen wird, dass sie ohne signifikante (nahe oder über 50 %) unmöglich ist ) Bergbauleistung.

am längsten* = es ist tatsächlich der Zweig mit der höchsten geschätzten Gesamtzahl an Hashes, der als der aktive betrachtet wird (als Tie-Breaker), nicht der längste. Dies macht nur sehr selten einen Unterschied (insbesondere, wenn der Fork ein Retarget kreuzt).

Ok danke für deine Antwort. Wenn Sie "die Gesamtzahl der Hashes" sagen, meinen Sie im letzten gefundenen Block oder in der gesamten Blockchain?
In der ganzen Blockchain. Fun Fact: Diese Zahl hat kürzlich 1 Yottahash (eine 1 mit 24 Nullen) überschritten.
noch eine frage: wann werden die transaktionen geprüft? Wenn der Block gefunden wird, wenn der Emitter der Transaktion ihn an andere Knoten sendet oder beides?
Jeder Knoten validiert es, bevor es an andere Knoten gesendet wird.
Ok, aber wenn ich einen benutzerdefinierten gefälschten Block mit gefälschten Transaktionen erstelle, ihn erfolgreich schürfe und dem Netzwerk sage, dass ich die Antwort habe, werden sie die Merkle-Root vergleichen, oder? Meine Frage ist: Wie werden sie herausfinden, ob es sich um eine Fälschung handelt, und sie ignorieren.
Weil sie es bestätigen.
Am längsten über ausreichendem Schwierigkeitsgrad! ;)) +1
@heyo Wenn Sie "gefälschte Transaktionen" sagen, was meinen Sie damit? Inwiefern sind sie gefälscht? Wie unterscheiden sie sich von gültigen Transaktionen?
Gefälscht, weil sie zweimal vorhanden sind (doppelte Ausgaben). Wenn ich das richtig verstehe, können Miner Blockchain in Sekundenbruchteilen validieren, Proof Of Work ist nur dazu da, die Verteilung von Bitcoins, die erstellt werden müssen, zu verlangsamen und zu regulieren.
Das erneute Hinzufügen derselben Transaktion zu einem Block innerhalb einer Blockkette, die diese Transaktion bereits enthält, ist ein klassischer Double-Spend-Versuch und macht den Block einfach ungültig. Kein Knoten oder Wallet im Netzwerk wird es akzeptieren.