Kann eine Zwei-Block-Kette die Hauptkette überschreiben?

Nachdem ich das gelesen habe:

Ehrliche Generatoren bauen nur dann auf einem Block auf (indem sie ihn in von ihnen erstellten Blöcken referenzieren), wenn es sich um den neuesten Block in der längsten gültigen Kette handelt. "Länge" wird als Gesamtkombinationsschwierigkeit dieser Kette berechnet, nicht als Anzahl der Blöcke, obwohl diese Unterscheidung nur im Zusammenhang mit einigen wenigen potenziellen Angriffen wichtig ist. Eine Kette ist gültig, wenn alle darin enthaltenen Blöcke und Transaktionen gültig sind, und nur, wenn sie mit dem Genesis-Block beginnt. https://en.bitcoin.it/wiki/Block_chain

Wäre es möglich, nach dem Genisis-Block einen Block zu minen, der eine höhere Schwierigkeit hat als alle Blöcke in der Hauptkette zusammen, und die Blockchain mit meiner eigenen zu überschreiben? --- nur hypothetisch, ich weiß, dass so eine schwierigkeit kaum zu erreichen ist... aber mit etwas glück?

Aufgrund von Checkpoints können Sie Ihre Seitenkette nicht direkt nach dem Genesis-Block starten . Sie könnten versuchen, es gleich nach dem letzten Kontrollpunkt zu starten. Eine Sache, bei der ich mir nicht sicher bin, ist, ob "Schwierigkeit" aus dem tatsächlichen Hash-Wert des Blocks oder aus dem Ziel berechnet wird, das er erfüllen sollte. Wenn letzteres der Fall wäre, würden Sie für Ihren superharten Block keine "Zusatzpunkte" erhalten, und dann würde dies nicht funktionieren.
Natürlich würde das Schürfen dieses einen Blocks den gleichen Arbeitsaufwand erfordern wie das erneute Schürfen aller Blöcke der ursprünglichen Kette.

Antworten (1)

Nein, es müsste viel länger dauern.

Abgesehen davon, dass es Checkpoints gibt, wird die Schwierigkeit eines Blocks durch seinen Zielwert definiert, nicht durch den tatsächlichen Wert des Blockhashs. Der Block-Hash muss nur kleiner als dieser Zielwert sein. Sie müssten also den Zielwert sehr klein machen (dh die Schwierigkeit sehr groß machen). Um dies zu tun, müssten Sie mindestens 2016 Blöcke abbauen, um eine Schwierigkeitsanpassung auszulösen. Die Schwierigkeitsanpassungen sind jedoch auf nicht mehr als 4-mal schwieriger (und nicht weniger als 4-mal einfacher) als die vorherige Schwierigkeit begrenzt. Sie müssten also viele Schwierigkeitsanpassungen auslösen, um Ihre Schwierigkeit auf den erforderlichen Wert zu bringen.

Sobald Sie Ihre Schwierigkeit hoch genug haben, ja, dann könnten Sie einen Block abbauen, der eine höhere Schwierigkeit hat als die Summe der Schwierigkeit der gesamten Blockchain, und dann werden die Knoten Ihre Blockchain akzeptieren (vorausgesetzt, Sie haben am letzten Kontrollpunkt begonnen).

Dies wäre jedoch rechnerisch äußerst undurchführbar. Um diesen Block abzubauen, müssten Sie die Summe aller Mining-Leistungen in jedem Block haben, um einen dieser großen Schwierigkeitsblöcke abzubauen. Das bedeutet, wenn Block 1 von einer Maschine abgebaut wurde und Block 2 von derselben Maschine abgebaut wurde, dann müssten Sie mindestens zwei dieser Maschinen haben, um einen Ersatzblock 1 abzubauen, der eine höhere Schwierigkeit hat als die Summe der Schwierigkeiten der Blöcke 1 und 2.

Kurz gesagt: Um eine Kette zu löschen, für deren Erstellung X Arbeitsaufwand erforderlich war, müssen Sie X Arbeitsaufwand wiederholen.