Was passiert, wenn ich eine ältere Blockchain verzweige und später wieder dem Netzwerk beitrete?

Nennen wir es einen „Zeitmaschinenangriff“.

Angenommen, ich habe ein isoliertes Netzwerk von n Clients mit einer signifikanten Hash-Rate, installiere meine Client-Software darauf und beginne mit dem Mining auf einer älteren Blockchain.

Da die Schwierigkeit damals niedriger war, bekomme ich viele Blöcke in sehr kurzer Zeit, aber meine Zeitstempel könnten gefälscht werden, und die Schwierigkeit steigt, aber nicht so sehr wie die tatsächliche Netzwerkschwierigkeit (aber ich habe die volle Kontrolle über mein Netzwerk und kann alles auf meiner Blockchain tun, die Schwierigkeit erhöhen und verringern, wenn ich muss, Zeitstempel fälschen und so weiter).

Sobald meine Kette länger als die offizielle ist, trete ich dem Netzwerk wieder bei. Was passiert dann? Überschreibt meine längere Kette die andere und gibt mir effektiv alle Bitcoins, die nach meiner Teilung jemals generiert wurden?

Update - Erklärung

Der Angreifer benötigt nicht 51 % der Rechenleistung des Netzwerks. Ein einzelner Pool könnte ab einem bestimmten Zeitpunkt mit dem Hashing beginnen, als die Schwierigkeit noch gering war, und ihn dann erhöhen oder verringern, um die Blockchain schneller wachsen zu lassen. Die letzten "paar" Blöcke könnten sogar schwieriger sein als die offizielle Netzwerkschwierigkeit (und Tage statt Minuten dauern). Der Angreifer kann in seinem Netzwerk tun, was er will , die Netzwerkschwierigkeit ändern und Zeitstempel fälschen, und die Länge der Blockchain hängt nicht nur von der aktuellen Netzwerkschwierigkeit ab. Ich denke, es ist möglich, eine längere Blockchain mit "relativ niedrigen" Hash-Raten (2% - 20% des Netzwerks) zu generieren, es könnte Monate (statt Jahre) dauern, aber es könnte theoretisch möglich sein.

Antworten (3)

Sie könnten keinen Bitcoin-Client täuschen, der weiter als Ihren Split-Punkt fortgeschritten ist.

Wenn Sie Ihre Blockchain jedoch an einen Client fütterten, der am Anfang oder gerade vor Ihrem Split-Punkt begann, konnten Sie ihn auf unbestimmte Zeit mit falschen Blöcken füttern, solange Sie der einzige andere Peer waren, mit dem sie auch sprachen.

Ich glaube nicht, dass es ein praktischer Angriff wäre. Es gibt keine praktische Möglichkeit, sie daran zu hindern, mit einem anderen Peer zu sprechen, und sobald ein anderer Peer eine Blockchain mit größeren Schwierigkeiten präsentiert, würde Ihre ignoriert.

Wie kann es länger dauern, wenn Sie nicht mehr Rechenleistung haben als das gesamte Netzwerk? Denken Sie daran, dass das Netzwerk in der Kette konvergiert, die am schwierigsten zu generieren war, nicht in der mit mehr Blöcken.

Ich habe jetzt nicht mehr Rechenleistung als das gesamte Netzwerk, aber eine neuere GPU allein hat am Anfang mehr als das gesamte Netzwerk. Angenommen, ich habe genug Rechenleistung multipliziert mit der Anzahl der Blöcke, die ich generieren kann, bevor ich wieder beitrete. Es würde einige Zeit dauern, aber es wären immer noch weniger als 51% des Netzwerks (heute).
Zum Beispiel: Ein großer Mining-Pool „verschwindet“ plötzlich aus dem offiziellen Netzwerk und beginnt allein mit dem Mining auf einer älteren Blockchain, wobei er in wenigen Wochen/Monaten das Äquivalent von 1 Jahr (oder mehr) bei einer konstanten Hash-Rate erhält. Die letzten paar Blöcke könnten sogar schwieriger sein als das offizielle Netzwerk (es würde einige Stunden statt 10 Minuten dauern, aber warum nicht ...). So, jetzt habe ich die längste Kette. Wer ist König? :-)
Die längste Kette bedeutet die höchste Gesamtschwierigkeit, NICHT die größte Anzahl von Blöcken.

Sie haben das Konzept der "längsten Kette" falsch verstanden. Es muss eine höhere kumulative Gesamtschwierigkeit haben, nicht nur mehr Blöcke.

Sie haben meine Erklärung falsch verstanden: "Höhere kumulative Gesamtschwierigkeit" kann gefälscht werden, wenn Sie über genügend Hash-Power verfügen (aber immer noch viel weniger als 51%). Ich kann in der Zeit "schnell vor und zurück" gehen, dann bekomme ich am Ende einige hohe Diff-Blöcke (bei aktueller Netzwerkschwierigkeit oder höher), kumulative Schwierigkeit ist das Problem, nicht die Lösung.