Verweise:
https://github.com/bitcoincashorg/bitcoincash.org/blob/master/spec/replay-protected-sighash.md
https://github.com/bitcoincashorg/bitcoincash.org/blob/master/spec/2018-nov-upgrade.md
Es sieht für mich so aus, als hätte Bitcoin-ABC am ursprünglichen Fork-Punkt einen zusätzlichen Wert 0x40
namens SIGHASH_FORKID
hinzugefügt, der mit den Standard-SIGHASH-Flags xoriert wird, um ein SIGHASH-Byte zu erzeugen, das mit Bitcoin Core nicht kompatibel ist. Dies bietet einen Wiedergabeschutz für alle Transaktionen, die mit ECDSA-Pubkeys signiert sind.
Fragen:
Wird das FORKID
mit jedem "Protokoll-Upgrade" aktualisiert, zum Beispiel das kürzliche "Magnetic Anomaly"-Upgrade? Wenn nein, warum nicht?
Es sieht so aus, als würde das Upgrade vom Mai 2019 das in ändern FORKID
, 0xFF0001
aber die Spezifikation erwähnt „Wallets, die dem Upgrade folgen, sollten nichts ändern müssen“. -- wie ist das möglich?
Hat Bitcoin-SV FORKID
seinen kürzlichen Hard Fork von Bitcoin-ABC abgeändert? Gibt es überhaupt einen Wiederholungsschutz zwischen diesen beiden Ketten?
Der Zweck von „ForkID nach einer bestimmten Zeit auf 0xSMTHNG setzen“ besteht darin, die alte Kette am Leben zu erhalten, aber getrennt zu halten, falls ein Fehler in der Hard Fork auftritt. Nach einem Bitcoin Cash Hardfork, sagen wir im November 2018, wenn Sie einen inkompatiblen Client verwenden, einen Client, der mit Mai 2018 konform ist, führt er Transaktionen mit einer FORKID durch, die mit beginnt 0xFF00
, und diese Transaktionen sind in der neuen Kette ungültig . Wallets sollten diese Regel nicht durchsetzen, da davon ausgegangen wird, dass sie keine Nodes sind und sie nicht an (einigen) der neuen Konsensregeln interessiert sind, die normalerweise kleine Änderungen wie neue Opcodes sind.
Wissenswertes: Bitcoin SV wurde von Bitcoin ABC gemäß Mai 2018 abgeleitet. Wenn sie dies nicht begehen würden , gäbe es einen Wiederholungsschutz.
Stecknadelkopf
0xdead
, was passiert da?MCCCS
Stecknadelkopf