Beschränken Sie tx auf SegWit1x oder 2x Kette

Gibt es angesichts des fehlenden Wiedergabeschutzes, wenn der SegWit2x-Fork eine andere Kette abspaltet, einen sicheren Mechanismus, um eine tx zu senden, sodass sie nur von den 1x- oder 2x-Kettenknoten akzeptiert wird?

Wenn die Antwort nein lautet, wäre eine Option, sowohl einen Bitcoin-Core- als auch einen btc1-Vollknoten auszuführen und Münzen an mich selbst auf dem btc1-Knoten zu senden. Sobald dieser tx in den SegWit2x-Block und NICHT in den 1x-Block akzeptiert wurde, hätte ich meine Münzen sicher geteilt? Wenn die tx auf die 1x-Kette wiedergegeben wurde, könnte ich es erneut versuchen, hoffentlich nicht zu oft, um Gebühren zu vermeiden.

Antworten (2)

Alle Transaktionen wären auf beiden Ketten wiederholbar, selbst nachdem eine in einem Block auf einer Kette bestätigt wurde, denn da beide Ketten mit demselben UTXO-Set beginnen, sind die Transaktionen, die diese UTXOs ausgeben, auf beiden Ketten gültig. Die einzige Ausnahme sind Münzen, die auf jeder Kette nach der Gabelung abgebaut werden, da diese Münzen auf der anderen Kette nicht gültig sind. Auf diese Weise können Sie also Ihre Coins aufteilen, Sie müssten Ihre Coins in Transaktionen mischen, die Coins verwenden, die nach dem Fork geschürft wurden, damit sie nur in einer Kette gültig sind. Im Falle einer solchen Aufteilung gehe ich davon aus, dass es eine Art Service geben würde, der von den Bergleuten beider Ketten gestartet wird, um damit zu beginnen, die Münzen der Leute zu mischen und sie aufzuteilen

BEARBEITEN: Ledger hat angekündigt, dass sie ein Tool dafür anbieten werden, andere werden es wahrscheinlich auch tun: https://twitter.com/LedgerHQ/status/921730827117096960

Verstanden. In diesem Fall werden sogar die großen (Nicht-Bergbau-)Börsen ein Problem haben, da sie nicht in der Lage sein werden, Münzen zu teilen, wie sie es für BCH und BGold getan haben. Zum Beispiel heißt es in einem der Coinbase.com-Beiträge, dass BTC-Kunden die gleiche Menge an B2X erhalten, aber wenn das passiert und ein Kunde sein B2X ausgibt, könnte der Empfänger auch seine BTC schnappen?
Auszahlungen werden höchstwahrscheinlich deaktiviert, bis das alles geklärt ist :)
Es gibt eine andere (aber nicht sehr relevante) Alternative: die Verwendung von Transaktionen mit mehr als 4 Millionen Gewicht. Ein solches txn wäre in Bitcoin ungültig, aber nur nicht standardmäßig auf 2X.

Das High-Level -Designdokument von Chainspl.it umreißt die 4 verschiedenen Mechanismen, die sie verwenden werden, um Coins zu erstellen, die nur auf einer der gegabelten Chains gültig sind. Details sind im Dokument, aber meine kurze Zusammenfassung ist:

  • Neue Coinbase-Münzen. Wie @MeshCollider betonte, wenn ein utxo in einen Block mit einer Coinbase-Münze aufgenommen wird, ist er nur in der Kette gültig, die den Coinbase-Tx generiert hat. Coinbase-Coins können erst nach 100 zusätzlichen Blöcken ausgegeben werden, und es müsste eine gewisse Synchronisation mit einem Miner erfolgen, um ein bestimmtes Utxo im selben Block wie ein Coinbase-Coin zu erhalten.

  • nLockTime. Wenn die Ketten durch Blockhöhe genug voneinander abweichen, kann ein TX die nlocktime verwenden, um sofort auf einer Kette zu verbringen und dann die Münzen auf die andere Kette zu sich selbst zu übertragen, BEVOR die Sperrzeit erreicht ist.

  • Massive Transaktion. Gemäß dem Kommentar von @Pieter Wuille zur akzeptierten Antwort. Holen Sie sich einen TX in einen Block, der die Größenbeschränkungen von Segwit1x überschreitet. Es scheint wahrscheinlich, dass dies eine sehr große tx erfordern und zu einer sehr hohen Gebühr führen würde,

  • Hohe/niedrige Gebühren. Ein großer Unterschied zwischen den Gebühren auf den Ketten könnte bedeuten, dass ein TX mit einer niedrigen Gebühr nur auf einer Kette akzeptiert wird. Dieser Ansatz wäre sehr riskant, da ein Bergmann in der teuren Kette willkürlich oder böswillig die TX in die Kette mit hohen Gebühren aufnehmen könnte.

Die nLockTime-Idee ist interessant, könnte hier möglicherweise verwendbar sein, je nachdem, wie die Hash-Power nach dem Split fällt, danke!