Mir ist der Datenverlust bekannt, der durch das Löschen der ersten N-Blöcke verursacht wird. Aber ich bin neugierig zu wissen, ob eine solche Aufgabe möglich ist oder nicht. Wenn ja, wie lässt sich das praktisch umsetzen?
Mit Blockchains können Sie im Grunde alles mit einer Hard Fork machen. Im Fall von privaten Blockchains wird es Ihnen viel leichter fallen, einen Konsens für einen Hard Fork zu erzielen, vielleicht so einfach wie die Behörde, die die Blockchain betreibt, die vorschreibt, dass jeder ein Upgrade akzeptieren muss.
Der Genesis-Block ist in der Software fest codiert. Um einen späteren Block als neuen Genesis-Block neu zuzuweisen, müssten Sie diesen Block in einer neueren Version der Software fest codieren. Dies wird nur von Knoten als gültig erkannt, auf denen die neuere Version der Software ausgeführt wird. Unter der Annahme, dass es kein Problem ist, einen Konsens zu erzielen, ist dies möglich.
Eine andere Sache, mit der man sich befassen muss, ist die Blockhöhe und alle darauf basierenden Berechnungen. Es ist einfach, den Client so zu ändern, dass er bei N+1 zu zählen beginnt, aber auch dies muss bei Berechnungen berücksichtigt werden. Dies wird sich auf Dinge wie Schwierigkeitsziele und Halbierungen auswirken. Wenn Sie den gesamten relevanten Code ändern, um dies zu berücksichtigen, sollten Sie in der Lage sein, dafür zu sorgen, dass die Dinge ordnungsgemäß funktionieren.
Pieter Wuille