Ist die Bitcoin-Blockchain wirklich nicht korrumpierbar? [Duplikat]

Einige Leute sagen, dass Proof of Work besser ist als Proof of Stake, weil es nicht möglich ist, die gesamte Blockchain vor Ort neu zu schreiben. Man müsste alles "re-minen".

Aber ich denke, das stimmt nicht! Ein hypothetischer Angreifer kann die gesamte Bitcoin-Blockchain neu schreiben und dafür sorgen, dass die Zeitstempel die Blockzeit genau 10 Minuten betragen, und auf diese Weise bleibt die Schwierigkeit des Mining minimal, und es ist kein echtes Mining erforderlich. Der Mining-Aufwand ist minimal.

So wie ich es verstehe, wird ein solches Problem praktisch gelöst, indem die Blockchain im Quellcode überprüft wird. Die Entwickler haben Block-Hashes im Quellcode fest codiert, damit das niemand tun kann. Ist meine Situationsbeschreibung richtig ?

Mit anderen Worten: Ohne Checkpointing ist die Bitcoin-Blockchain von Natur aus korrumpierbar und kann zerstört werden. Was fehlt mir hier?

PS: Hier geht es nicht um PoW vs. PoS. Hier geht es im Grunde um die Behauptung, PoW sei nicht korrumpierbar. Wenn meine Schlussfolgerungen zutreffen, können wir dasselbe mit PoS-Blockchains tun und Checkpointing verwenden, um Korruption zu verhindern.

Einige falsche Annahmen hier: Mit "längste Kette" beziehen wir uns auf die Kette mit der meisten Arbeit (nicht nur die meisten Blöcke), und Checkpoints waren ein historischer Weg, um die Synchronisationsgeschwindigkeit zu optimieren, die abgeschafft wird (einer der Gründe für die Abschaffung ist tatsächlich fällig dazu neigt, Missverständnisse im Sicherheitsmodell von Bitcoin zu verursachen, wie Ihre Frage). Wenn ein Checkpoint jemals eine tatsächliche Kettenreorganisation verhindert, ist PoW vollständig kaputt.
@PieterWuille Das Bitcoin-Whitepaper sagt die längste Kette und nicht die meiste Arbeit. Können Sie bitte Referenzen (oder Code) angeben, die bestätigen, dass die längste Kette = die meiste Arbeit ist?
Das Whitepaper beschreibt nur die grobe Idee hinter dem Design von Bitcoin, und die praktische Umsetzung unterscheidet sich und erweitert es in vielerlei Hinsicht (das Whitepaper sagt beispielsweise nicht, dass der Coin-Vorrat endlich ist!). Als Beweis: github.com/bitcoin/bitcoin/blob/v0.16.0/src/… Hier entscheidet der Code, welcher Zweig zu validieren ist, und ruft eine Funktion auf, die die meiste Arbeitskette findet. Aber wirklich, dies ist eine sehr grundlegende Designeigenschaft, und Sie werden sie an vielen Stellen beschrieben sehen (einschließlich in Dutzenden von Antworten auf dieser Website).
@PieterWuille Danke. Der Code ist Beweis genug. Beifall!

Antworten (1)

Ihr Angriff würde nicht funktionieren, da die Knoten die Kette mit der größten Arbeit als führende nehmen, die Anzahl der Blöcke ist irrelevant. Jede Angriffskette muss mindestens so viel Arbeit aufwenden wie für das Original. Dies war eigentlich ein Fehler im Whitepaper und der anfänglichen Implementierung der Bitcoin-Software: Es wurde nach der längsten Kette statt nach der meisten Arbeit gesucht. Es wurde sehr früh behoben.

Checkpoints werden zentralisiert, da sie den Entwicklern Macht verleihen. Sie werden nicht mehr in Bitcoin durchgeführt.

Könnten Sie Beweise dafür liefern, dass "die meiste Arbeit" in Bitcoin gewinnt und nicht die längste Kette? Ich habe das nirgendwo gesehen.