Laut fork.lol und Pieters bitcoin.sipa würde es derzeit ~200 Tage dauern, bis ein Angreifer mit 100 % der aktuellen Hashpower die gesamte BTC-Blockchain umgeschrieben hätte. Meine Frage bezieht sich darauf, wie ein solcher Angriff tatsächlich ablaufen könnte:
Nehmen wir an, dass 100 % der Hashpower in den Händen eines Angreifers ist und die BTC-Kette aufgehört hat, sich weiterzuentwickeln. Der Angreifer richtet 100 % der Hashpower auf das Mining auf dem Genesis-Block aus, sodass er die ersten 2016-Blöcke SUPER schnell generiert, und dann erhöht sich die Schwierigkeit um den Faktor 4. Dies wird fortgesetzt, bis die Schwierigkeit das aktuelle Niveau erreicht, und nach ~200 Tagen wird die Kette des Angreifers eine höhere kumulative Schwierigkeit haben, obwohl sie eine viel geringere Blockhöhe hat.
Aber ich denke nicht, dass das sehr interessant ist, der Rest des Netzwerks wird erkennen, dass es ein Problem gibt, lange bevor 200 Tage vergangen sind, und wahrscheinlich eine Lösung codieren, damit die Dinge reibungslos laufen.
Wie ist also ein verdeckterer Angriff möglich? Könnte ein Angreifer mit einer bescheidenen Menge an Hashpower eine private Kette abbauen und die Zeitstempel fälschen, um die Schwierigkeit niedriger zu halten, als sie sein sollte? Ermöglichen Sie also die Erstellung einer „Replik“-Kette mit einigen geänderten TXs zum Vorteil der Angreifer?
Dies könnte erfolgen, während die ehrliche Kette noch in Betrieb ist, und der Angreifer würde die ehrliche Kette langsam einholen. Je weiter der Angreifer es schafft, desto mehr Hash-Power muss er dem Angriff widmen, um allen ehrlichen Minern davonzulaufen. Aber wenn eine bescheidene Menge an Hashpower einen guten Teil der frühen Geschichte privat umschreiben kann, scheint es, als wäre das aktuelle 200-Tage-Fenster tatsächlich eine leichte Überschätzung.
Hinweis: In diesem Szenario würde die Gesamtzeit für die Durchführung des Angriffs mehr als 200 Tage betragen, aber ein Teil dieser Zeit würde für privates Mining mit einem Teil der Hash-Leistung aufgewendet, die vom Netzwerk „nicht übersehen“ wird. Der Rest des Netzwerks kann also möglicherweise nur bemerken, dass ein Angriff innerhalb des 200-Tage-Fensters stattfindet.
Ich sehe dies nicht als wirkliche Bedrohung, ich bin mehr daran interessiert zu verstehen, was tatsächlich möglich ist, insbesondere im Hinblick auf das Spoofing von Zeitstempeln auf einer privaten Kette, um die Schwierigkeitsziele niedrig zu halten.
Ja, ein Angreifer könnte die Zeitstempel auf dem Block fälschen und einen verdeckten alternativen Verlauf erstellen. Dies macht jedoch bei diesem Angriff keinen großen Unterschied. Der Grund dafür ist, dass der Angreifer, wenn er sich entscheidet, Zeitstempel zu manipulieren, um die Schwierigkeit zu erhöhen, am Ende weniger Blöcke mit hohem Schwierigkeitsgrad produziert. Wenn sie sich dagegen dafür entscheiden, Zeitstempel zu manipulieren, um die Schwierigkeit zu verringern, werden sie am Ende mehr Blöcke mit niedrigem Schwierigkeitsgrad produzieren. In jedem Fall wird die kumulative Schwierigkeit in der gegnerischen Kette dieselbe sein (sowohl in Erwartung als auch aufgrund einer Chernoff-Grenze mit hoher Wahrscheinlichkeit, es sei denn, sie erhöhen die Schwierigkeit enorm).
Ich habe Zweifel an Ihrer Behauptung, dass das Netzwerk erkennen wird, dass es ein Problem gibt. Die Kette des Angreifers bleibt privat, bis er die aktuelle ehrliche Kette in kumulativer Schwierigkeit übertroffen hat. Während des verdeckten Bergbaus wissen die ehrlichen Parteien nicht, dass ein Angriff stattfindet (und die ehrliche Kette kann weiter wachsen, vorausgesetzt, es gibt eine ehrliche Macht, die nicht der Mehrheit entspricht). Der Angriff wird erst sichtbar, wenn der Angreifer die Kette aufdeckt, wenn die ehrlichen Parteien sofort darauf umschalten. An diesem Punkt kann der Angreifer einen großen Double-Spending-Angriff durchführen und weggehen, bevor die ehrlichen Parteien einen Patch anwenden.
Eine Sache, die der Angreifer beachten muss, ist, dass die aktuelle Blockchain manchmal mit Checkpoints versehen ist. Wenn ein Client also einen Checkpoint hat, kann der Angreifer die Kette nur bis zu diesem Checkpoint neu organisieren. Darüber hinaus müssen die Blockzeitstempel, insbesondere in der Nähe der Gegenwart, mit der aktuellen Zeit der Verifier-Computer übereinstimmen, da dies von einigen Clients zumindest ungefähr überprüft wird. Abgesehen davon könnte dieser Angriff funktionieren.
kaykurokawa
Chytrik
Tschak
kaykurokawa
Chytrik
rny