bitcoin-dev

Anti-transaction replay in a hardfork

Anti-transaction replay in a hardfork

Original Postby Johnson Lau

Posted on: January 25, 2017 07:05 UTC

In a discussion on the bitcoin-dev mailing list, it was proposed that old-format transactions be made valid only when paired with a fork-only follow-up transaction which is spending at least one (or all) of the outputs of the old-format transaction.

This would introduce new statefulness into the block validation logic but is necessary for maximal fork safety and can be disabled at a later time if deemed no longer necessary. The proposal also suggests that the old network should soft-fork in an identical rule with a follow-up transaction format incompatible with the fork. This would mean that old transactions can not be replayed across forks/networks because they're not valid when stand-alone. Wallet clients would need to be updated or paired with software that intercepts generated transactions and automatically generates the correct follow-up transaction for it (old network only). The rules should be that old-format transactions can't reference new-format transactions, even if only a softfork change differs between the formats to prevent an unnecessary amount of transactions pairs generated by old wallets.

Bitcoin Logo

TLDR

Join Our Newsletter

We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.

Explore all Products

ChatBTC imageBitcoin searchBitcoin TranscriptsSaving SatoshiBitcoin Transcripts Review
Built with 🧡 by the Bitcoin Dev Project
View our public visitor count

We'd love to hear your feedback on this project?

Give Feedback