Bitcoin Testnet und eine künstliche (längere) BTC-Kette

Hallo,

ich hätte da mal eine Frage zu einer Aussage von Roman aus dem Stream heute.

Er hat die Frage beantwortet (Minute 38:34) warum im Testnet deutlich mehr Blöcke gemined sind als in der normalen Chain (2189529 zu 727023). Er hat das damit begründet, das im Testnet deutlich weniger Rechenpower und das wenn dann mal jemand mined deutlich schneller mehr Blöcke gefunden werden und die difficulty dann stärker wieder abnimmt, sobald er aufgehört hat (so ungefähr seine Worte).

Dazu erstmal die Frage ob das so richtig ist. Denn wenn man die Rechenleistung wieder entfernt dauert die nächte difficultyperiode ja umso länger, wodurch man im Schnitt wieder bei der gleichen Wert kommt. So kann ich mir nicht den Vorsprung von 1462506 erklären.

Dann habe ich mir vor ein paar Wochen überlegt gehabt ob man nicht für sich selbst anfangen könnte Bitcoin auf einer eigenen Chain zu meinen, die den identischen Regeln wie der „richtige“ Bitcoin folgt mit sich selbst als eigenem Teilnehmer und durch ein geschicktes hinzufügen (und entfernen) von Rechenleistung die Blöcke im Schnitt leicht schneller findet als die vorgesehenen 10 Minuten, z.B. 9 Minuten.

Dann könnte man, selbst wenn es ein paar Jahrzehnte dauern sollte, irgendwann eine längere Kette gemined haben als der Rest der Welt auf der momentanen Chain durch ihre unkoordinierte Steigerung der difficulty. Diese veröffentlicht man dann, die Miner und Nodes bemerken das es eine längere Kette gibt als die bisherige die auch sämtliche Bitcoin-Regeln befolgt und verwerfen die alte Chain, was das aus für BTC wäre weil meine künstliche Kette zwar die längere ist, allerdings für die Allgemeinheit völlig wertlos. Ich habe diesen Gedanken dann mit der Begründung verworfen „Das wird bestimmt nicht gehen“, aber jetzt würde ich gerne wissen warum.

Vielen Dank für eure Antworten.

1 „Gefällt mir“

Es kommt nicht auf die Länge der Chain an, sondern auf die investierte Arbeit.

Die Chain mit dem größten Proof of Work ist die gültige, nicht die Chain mit den meisten Blöcken. Hier liegt dein Denkfehler.

Durch PoW ist es möglich investierte Arbeit mathematisch zu messen, das ist ja das geniale! :slight_smile:


Was deine Frage zum Testnet angeht:

Das ist richtig. Die Difficulty niedrig zu halten und damit die tBTC wertlos ist garnicht so einfach. Die Adjustment Periode liegt wie im Mainnet bei 2016 Blöcken. Durch die niedrige Difficulty ist es aber i.d.R. sehr einfach sich zu organsieren. Gibt schließlich keinen Anreiz zur Manipulation, es sei denn man möchte Entwickler nerven. :wink:

Das Testnet wurde auch schon mehrmals neu aufgerollt und zurück auf den Genesis Block gesetzt, eben weil man sich festgefahren hat (soweit ich weiß). Es gab zwischenzeitlich auch mal ein Segnet um Segregated Witness zu testen.

In Bitcoin Core gibt es auch die Möglichkeit eine lokale Blockchain zu Testzwecken zu minen, das nennt man dann Regnet (Regression Testing).

Kannst dir das Bitcoin Testnet auch im Explorer anschauen.

1 „Gefällt mir“

Nice, danke für die schnelle und ausführliche Antwort.

Wenn 2 Blöcke gleichzeitig gefunden werden heißt es ja immer das dann geschaut wird welche Kette schneller länger wird, da dort mehr Arbeit drinnen steckt und die kürzere wird verworfen. Deshalb dachte ich das die längere immer automatisch als die angesehen wird in der mehr Arbeit drinnen steckt, aber das wird wohl anderes festgestellt.

Das ist bei einer natürlich auftretenden Fork ja auch nicht unbedingt falsch, da hier die Miner auf der gleichen Difficulty arbeiten und damit jeder Block ein ähnlich hohes Proof of Work hat (nicht identisch da das aktuelle Target ja nur ein Zielwert ist, der unterschritten werden muss). Dann ist automatisch die längste Chain die mit dem größten PoW.

Wenn jetzt aber jemand mit 1000 neuen Blöcken ums Eck kommt die er mit seinem MacBook gefunden hat wird das natürlich abgelehnt. Erstens weil er sich nicht an das aktuelle Target hält und zweitens (daraus folgend) weil in seine Chain nachweislich deutlich weniger Arbeit geflossen ist.

Wie weist man das nach? Je kleiner (das ist eine Zahl) der Blockhash, desto schwieriger war es diesen Hash zu finden, das heißt desto mehr Energie und Zeit musste ich aufwenden.

1 „Gefällt mir“