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.
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.
Sie haben das Konzept der "längsten Kette" falsch verstanden. Es muss eine höhere kumulative Gesamtschwierigkeit haben, nicht nur mehr Blöcke.
GB
GB
uminatsu