Längere Fake-Blockchain mit „gültigen“ Transaktionen

Was hindert den Bitcoin-Client daran, zu einer gefälschten Blockchain zu wechseln, die länger als die derzeitige offizielle Kette wäre? Die gefälschte Kette würde fiktive Transaktionen enthalten, aber innerhalb der gefälschten Kette wäre die Transaktion gültig (z. B. keine doppelten Ausgaben usw.).

Antworten (2)

Bitcoin-Clients akzeptieren immer die längste gültige Kette. Einerseits prüfen Clients die empfangenen Blöcke auf Gültigkeit, andererseits wird die Länge durch eine andere Metrik definiert, als viele annehmen. Die Länge der Blockchain ist die Summe der Schwierigkeit aller ihrer Blöcke, nicht die Anzahl der Blöcke. Um also eine gefälschte Kette zu erstellen, müsste der Angreifer tatsächlich eine gültige Kette mit der gleichen Schwierigkeit erstellen. Dies ist entweder für sehr kurze Ketten möglich (Double Spend Attack) oder erfordert einen Großteil der Leistung des Netzwerks (51% Attack).

Vollständige Blockchain-Knoten prüfen tatsächlich nicht nur die Blockheader, sondern auch jede Transaktion im Blockkörper, bevor sie diesen Block akzeptieren. Wenn eine Transaktion im Block nicht "aufwächst" (dh ihre Eingaben stimmen nicht mit dem aktuell akzeptierten Saldo dieser Adressen, Signaturen usw. überein), wird der Block nicht als gültig akzeptiert.

Hier müssen "leichte" Bitcoin-Clients (diejenigen, die nicht die vollständige Blockchain herunterladen) einem Full-Mode-Knoten vertrauen, um ihnen die "Wahrheit" über frühere Transaktionen zu sagen. Wenn der Full-Mode-Knoten bösartig ist, kann er sicherlich diese Light-Client-Peers austricksen, die mit ihm verbunden sind.