jarpian erklärt, was ein Timewarp-Angriff (AKA Zeitgeist-Angriff) ist:
Dies ist ein 51%-Angriff, bei dem der Angreifer die Block-Zeitstempel künstlich setzt, um die Schwierigkeit zu verringern, sodass er mehr Münzen gewinnen kann, als seine Hash-Rate rechtfertigen würde. Es funktioniert, weil die Schwierigkeitsanpassungsformel rein auf Zeitstempeln basiert, die vom Angreifer ziemlich frei gewählt werden können. Insbesondere müssen die Zeitstempel nicht in aufsteigender Reihenfolge sein . ArtForz erklärt den Angriff hier im Detail .
Dieser Angriff wurde gegen die neue Blockchain von Geist Geld eingesetzt. Die Schwierigkeit von Geist Geld passt sich alle 16 Blöcke an, wodurch die Kette besonders anfällig für diesen Angriff wird. Ein Angreifer, der auf Bitcoin abzielt, müsste bei der aktuellen Schwierigkeit einen vollständigen Satz von 2016-Blöcken abbauen, bevor er einen Vorteil gegenüber einem „normalen“ 51-%-Angriff erzielt.
Offensichtlich wäre die Durchführung dieses Angriffs horrend teuer. (Coinometrics beziffert die Kosten zum Zeitpunkt des Schreibens auf etwa 463 Millionen US-Dollar .)
Wenn Sie jedoch erfolgreich waren, könnten Sie die Schwierigkeit verringern und die Blockrate alle 2 Wochen um den Faktor 4 erhöhen, sodass Sie mehr als alle 10 Minuten Münzen prägen können.
Der offensichtliche Weg, dies zu beheben – die Änderung des Block-Retargeting-Zeitraums von (2016*n, 2016*n + 2015) auf (2016*n, 2016*n + 2016 ) ist problematisch. Von der neuen Implementierung erzeugte Blöcke wären in der alten Implementierung ungültig und umgekehrt. (Quelle)
Wie könnte also ein Time Warp-Angriff auf unterbrechungsfreie Weise verhindert werden?
Die einfache Lösung ist ein Soft Fork, der erfordert, dass die Zeit jedes Blocks gleich oder größer als die Zeit des vorherigen Blocks in der Blockkette ist. Das heißt, die Zeit auf der Blockchain kann nicht rückwärts gehen.
Wenn die Zeit nicht rückwärts gehen kann, kann der Angreifer die Schwierigkeit nicht künstlich verringern, außer indem er Blöcke mit Zeiten in der Zukunft schürft, und das Netzwerk weist Blöcke bereits mehr als 120 Minuten in die Zukunft zurück.
Dieser Vorschlag ist ein Soft Fork, da Bergleute ohne Upgrade eine schwierigere Kette akzeptieren, deren Zeiten sich nur verlängern oder gleich bleiben. Bei einer Implementierung auf die gleiche Weise wie BIP34 würde die Supermajority der Hash-Rate aktualisiert, bevor die neue Regel angewendet wird, wodurch Unterbrechungen minimiert werden.
A->B->C
die Zeit von C >= die Zeit von A sein könnte? Das ist im Grunde nicht anders als die Zeit von C == die Zeit von B, weil jeder Knoten, der B ablehnt, >= the previous block's time
auch C ablehnt diejenige, auf die im Block-Header-Feld prevHeaderHash verwiesen wird. Also Zeit Block A <= Zeit Block B <= Zeit Block C. Wenn es einen veralteten Block B' gibt, hat seine Zeit keinen Einfluss auf die Zeit von Block C. Ich werde den Beitrag bearbeiten, um dies klarer zu machen.Behalten Sie Netzwerke wie Myriad, Digibyte, Digitalcoin, Unitus und andere im Auge, die Multi-Algo Proof of Work verwenden. Wie einige von Ihnen vielleicht wissen, wurde Myriadcoin gegen Ende des letzten Jahres von Timewarp angegriffen und hat die Bemühungen der schlechten Schauspieler erfolgreich beendet. Ich für meinen Teil weiß nicht, wo die Schwellenwerte für einen Prozentsatz der Hashrate liegen, um einen solchen Angriff durchführen zu können. Eine eingehende Analyse der Myriad Blockchain (Zeitstempel und alles, Netzwerkverkehr vom Angriff wäre auch schön, muss aber live erfasst werden) und ein Blick auf https://github.com/myriadcoin/myriadcoin wäre eine gute Idee für alle, die an der Lösung von Timewarp-Problemen interessiert sind.
Chuck Batson
Benutzer24697