Wie tauschen wir „Coins auf einer Blockchain gegen die auf der anderen“?

Da Segwit und BIP-148 kommen, habe ich versucht herauszufinden, was genau mit Bitcoin nach dem 1. August passieren wird, indem ich Videos angeschaut und Artikel gelesen habe. Eine Sache (unter vielen anderen) verwirrt mich ..

Einige sagen, dass Sie Bitcoins auf einer Blockchain (z. B. der Legacy-Blockchain) gegen Bitcoins auf der anderen (z. B. BIP-148-Blockchain) tauschen können. Ich verstehe nicht, wie das gemacht werden kann. Ich glaube eigentlich nicht, dass das möglich wäre. Das ist meine Begründung:

Angenommen, ich habe vor dem 1. August 20 BTC auf der (alten) Blockchain. Jetzt kommt der 1. August und wir haben eine BIP-148-Soft-Fork. Jetzt habe ich 20 BTC sowohl auf der Legacy-Blockchain als auch auf der BIP-148-Blockchain. Um nun „Bitcoins auf einer Blockchain gegen andere auszutauschen“ (oder für jede andere Übertragung), muss ich eine Transaktion durchführen – ein Senden oder Empfangen.

Angenommen, ich sende 15 BTC an eine Person P. Diese Transaktion wird an alle Knoten/Miner im Netzwerk gesendet, unabhängig davon, ob dieser Knoten/Miner BIP-148-Software ausführt oder nicht. Wenn:

  1. Ein BIP-148-Miner löst die Transaktion zuerst: Dieser Block wird an beide Blockchains angehängt. Der Legacy-Miner wird aufhören, diese Transaktion zu lösen.
  2. Ein Legacy-Miner löst die Transaktion zuerst: Der Block wird an die Legacy-Blockchain angehängt, und alle BIP-148-Knoten werden diesen Block ablehnen. Aber BIP-148-Miner haben diese Transaktion immer noch in ihrem Mempool. Sie werden weiter versuchen, es zu lösen, und werden es schließlich lösen.

In beiden oben genannten Fällen ist das BTC-Guthaben von mir und Person P in beiden Blockchains gleich.

Die einzige Möglichkeit, wie mir scheint, unterschiedliche Guthaben für ein bestimmtes Konto (öffentlicher Schlüssel) zu haben, besteht darin, wenn jemand versucht, doppelte Ausgaben zu tätigen. (Nach einigen Analysen bin ich zu diesem Schluss gekommen.)

Also, wie tauscht man zuverlässig Coins auf einer Blockchain gegen Coins auf der anderen?

Antworten (1)

Es gibt zwei Möglichkeiten, die Transaktionswiederholung zu vermeiden (abgesehen davon, dass etwas in den Fork eingebaut wird). Sie können Ihre Münzen verderben oder doppelt ausgeben.

Um Ihre Coins zu verderben, müssen Sie Zugang zu Coins erhalten, die nach dem Fork auf mindestens einer der Chains erstellt wurden. Wenn Sie eine Transaktion erstellen, die eine Eingabe aus einer Coinbase-Transaktion enthält, die auf der BIP 148-Kette erstellt wurde, dann ist diese Transaktion auf der Nicht-BIP 148-Kette ungültig. Und umgekehrt. Dann ist jede Transaktion, die von dieser verdorbenen Transaktion ausgegeben wird, nur für eine Kette gültig.

Die andere Möglichkeit besteht darin, eine doppelte Ausgabe durchzuführen. Nehmen wir an, dass die BIP 148-Kette eine geringere Hashrate (und damit langsamere Blöcke) hat. Sie führen eine Transaktion durch, die für RBF signalisiert, die wahrscheinlich im nächsten Block auf der Nicht-BIP-148-Kette bestätigt wird. Da die Nicht-BIP-148-Kette Blöcke schneller produziert, wird Ihre Transaktion wahrscheinlich auf der Nicht-BIP-148-Kette bestätigt, bevor sie auf der BIP-148-Kette erfolgt. Sobald Sie eine Bestätigung für die Nicht-BIP-148-Kette haben, erstellen Sie eine doppelte Ausgabe, die eine höhere Gebühr zahlt (um RBF zu nutzen) und die Coins an eine andere Adresse sendet. Diese Transaktion wird dann auf der BIP 148-Kette bestätigt, da sie auf der Nicht-BIP 148-Kette ungültig ist und das Original ersetzt hat. Ihre Coins sind jetzt separat und werden bei der Transaktionswiedergabe nicht gefährdet.