Dieser Blogpost ist eine Zusammenfassung von mehreren meiner Youtube-Videos rund um das Thema der Bitcoin Cash (BCH) Hardforks.
Ich hoffe, mit diesem Post auch Neulingen im Kryptobereich alles Wissenswerte rund um Forks verdeutlichen zu können. Der Schwerpunkt liegt natürlich aus gegebenem und aktuellem Anlass bei den beiden letzten Bitcoin Cash Hardforks.
Worum handelt es sich bei dem Hardfork?
Im Wesentlichen handelt es sich bei einem Hardfork um eine radikale Änderung auf Protokollebene der Blockchain. Diese Änderungen können eine Aufspaltung der Gemeinschaft um das Projekt - aber auch eine Aufspaltung der Blockchain selbst sein.
Bitcoin Cash (BCH) ist im Jahre 2017 ebenso über einen Hardfork aus Bitcoin (BTC) hervorgegangen.
Und was bedeutet das jetzt?
Fast man eine Blockchain als Kassenbuch auf, so hat Bitcoin Cash durch Anheben des verfügbaren Speichers pro Block (von 1 MB auf damals 8 MB) das Format des Kassenbuchs verändert (z.B. von A4 auf A3).
Durch diese Inkonsistenz (es passen ja jetzt mehr Transaktionen auf eine Seite bzw. in einen Block als vorher) muss also fortan ein neues Kassenbuch (Kindkette) geführt werden. Die früheren Bilanzen (Elternkette) müssen jedoch bis zum Zeitpunkt der Änderung übernommen werden.
Wer also vor dem Zeitpunkt des Forks (der sogenannten Blockhöhe des Forks) Coins auf der einen Kette besessen hatte, besitzt automatisch eine äquivalente Menge an Coins auf der anderen durch den Fork entstandenen Kindkette.
Im November 2018 forkte Bitcoin Cash selbst dann noch einmal unter erneuter Anhebung der Blockgröße und Bitcoin Satoshis Vision (BSV) ging daraus hervor:
Abb.1: Die Kindkette (BSV) geht aus der Elternkette (BCH) ab der Blockhöhe des Forks hervor. Es kommt zu diesem Zeitpunkt also zur Aufspaltung der Bitcoin Cash Blockchain in zwei unterschiedliche Teilstränge, die sich eine gemeinsame Transaktionshistorie (vor dem Fork) teilen, dann aber verschieden fortgeführt werden.
Und schließlich folgte dann noch ein Hardfork von BCH im November 2020 und der Bitcoin Cash ABC (BCHA) Coin wurde geboren. Grund für den Fork war eine Abgabe von 8% der durch das Schürfen erzeugten Coins, die zur Finanzierung von technischen Weiterentwicklungen von Bitcoin Cash genutzt werden sollten.
Forks und Replay-Angriffe
Da es nach der Aufspaltung nun zwei Kassenbücher gibt, die (abgesehen von der Größe der Seiten oder anderen weniger gravierenden Regeln) nach denselben Bedingungen geführt werden, bedeutet dies, dass Transaktionen, die auf der einen Kette durchgeführt werden, ebenso auf der anderen gültig sind.
Erhält eine Person nach einem Fork also Coins auf der einen Kette, kann er die Transaktion einfach auf der anderen Kette wiederholen - die Informationen für die Transaktion sind ja auf der Blockchain für jeden öffentlich einsehbar.
Abb.2: Alice hält 3 Coins auf der Elternkette (blau) und hat nach dem Fork auch 3 Coins auf der Kindkette (rot). Sie führt eine Transaktion im Wert von 1 Blau auf der Elternkette an Bob durch. Da die Transaktionsinformationen und Signaturen öffentlich einsehbar sind, nutzt Bob diese und spielt die Transaktion auf der Kindkette erneut ab. Er erhält von Alice's Guthaben (ohne dass diese die Transaktion durchgeführt haben muss) 1 Rot.
Er erbeutet sich dann also die exakt selbe Menge an Coins auf der anderen Kette.
Wichtig hierbei ist, dass die Transaktion auf der anderen Kette EXAKT mit denselben Informationen wiederholt wird (daher auch der Name Replay).
Coin-Splitting
Da sowohl die Coins auf der einen als auch auf der anderen Kette einen finanziellen Wert haben, möchte man diese separat voneinander ausgeben können und einen Replay von Transaktionen vermeiden.
Dies wird durch das Splitting (Trennen) der Coins möglich. Hierbei handelt es sich um verschiedene Methoden, die verhindern, dass ein Replay auf der anderen Kette möglich ist.
Bei der "Dust"-Variante (von engl. Staub) wird einer Transaktion nach der Aufspaltung der Ketten eine ganz geringe Menge desselben Coins hinzugefügt, die als Bilanz auf der anderen Kette nicht vorhanden ist. Vor dem Splittingvorgang muss dieser als Staub bezeichnete Betrag beantragt werden. Durch den zusätzlichen Staub unterscheiden sich die Transaktionsbeträge auf den beiden Ketten, so dass die Transaktion nicht erneut abgespielt werden kann.
Zur Veranschaulichung der Variante möchte ich die Begriffe Euro und Cent verwenden.
Stell dir vor du hast zum Beispiel 100 Euro auf der Kette A, und, weil diese geforkt ist, hast du jetzt auch 100 Euro auf der Kette B. Durch das Hinzufügen von einem Cent als Dust führst du eine Transaktion von 100.01€ auf Kette A durch. Da du aber auf Kette B nur 100.00€ Euro hast, kann diese Transaktion dort nicht abgespielt werden (es fehlt der für den Replay notwendige eine Cent). Somit hast du deine Coins gesplittet. Sie können jetzt separat voneinander verwendet werden.
Eine andere Variante basiert auf zeitlichem Verzug der beiden Blockchains. Wenn in den Netzwerken der beiden Ketten unterschiedlich viele Teilnehmer mit der Bearbeitung der Transaktionen beschäftigt sind (dem Mining), kann es vorkommen, dass eine Kette länger ist als die andere (obwohl beide Ketten im statistischen Mittel im gleichen zeitlichen Abstand neue Blöcke produzieren sollten). Wenn dies der Fall ist, splittest du deine Coins, indem du dem Netzwerk mit der längeren Kette eine Transaktion an dich selbst mit einer anderen Adresse A mitteilst und sofort eine Transaktion mit demselben Input aber anderem Output - sagen wir an Adresse B - auf der kürzeren Kette beauftragst.
Abb.3: Die Elternkette und Kindkette verlaufen asynchron (eine ist länger als die andere). Alice splittet einen ihrer 3 Blau, indem sie diesen an ihre Adresse Alice2 sendet, während sie gleichzeitig dem Netzwerk der Kindkette eine Transaktion von 1 Rot an die Alice3 mitteilt.
In meinem exklusiven Video auf meinem flote.app-Kanal zeige ich dir das Splitting von BCH und BCHA nach dieser Methode im Detail unter Verwendung der Electron Wallets.
Abb.4: Screenshot von meinem Video über das Splitting der BCHA/BCH Coins.
BCHA zu eCash Rebranding
Im Juli 2021 hat sich Bitcoin Cash ABC (BCHA) in eCash umbenannt und verwendet auch ein neues Tickersymbol - nämlich XEC.
Einhergehend mit der Umbenennung (Rebranding) folgte auch eine Umstellung des Coins um den Faktor 1.000.000. Dies bedeutet nicht, dass jetzt eine Million mal mehr Coins gibt als vorher, sondern dass, statt der acht Nachkommastellen, die typisch für Bitcoin und viele der darauf basierenden Coins sind, jetzt nur noch zwei verwendet werden.
Aus zum Beispiel 0.12345678 BCHA wurden also jetzt 123456.78 XEC. Diese sind äquivalent auch nur Zehntausendstel eines Cents wert, während BCHA im Bereich von mehreren Euros gehandelt wird.
Um das neue Tickersymbol und Einheitenformat zu verwenden, musst du lediglich deine Wallet, üblicherweise Electron ABC, auf die neuste Version updaten. Für die Blockchain ist es egal, welche der beiden Anzeigemöglichkeiten deine Wallet verwendet.
Wie du dies tust, zeige ich dir ebenfalls im Detail in meinen Videos.
Das wichtigste in Kürze
Bei einem Hardfork kann es zur Aufspaltung einer Blockchain in mehrere Teilstränge kommen. Bilanzen werden dabei auf beiden Ketten weitergeführt. Wer vor dem Fork Coins auf der einen Kette hatte, hat automatisch dieselbe Menge auf der anderen.
Da Transaktionen auf der einen Kette auch auf der anderen Kette gültig sein können und die Informationen der Transaktionen für jeden jederzeit öffentlich einsehbar sind, können diese auf der anderen Kette in einer Replay-Attacke erneut durchgeführt werden.
Wenn du deine Coins auf beiden Ketten separat voneinander ausgeben und Replay Attacken vermeiden willst, solltest du sie vorher splitten.
Wenn dein Coin forkt, solltest du mit diesem erst einmal keine Transaktionen durchführen und nach einiger Zeit deine Coins splitten.
Wenn dir der Inhalt dieses Blogs gefallen hat, oder du einige Schritte im Detail sehen möchtest, schau doch einfach auf meinem Youtube-Kanal vorbei:
https://www.youtube.com/channel/UCF3Gl8ZWFgmD__jIXciMq1A