What is transaction replay and replay protection? With everyone and their dog making new blockchains forked from the bitcoin blockchain, there is a lot of talk about replay protection.

What is a transaction replay?
What does replay protection do?
What is a transaction replay


In the context of forks, transaction replay is when a transaction is valid on both sides of the fork. So a transaction can be played (i.e. broadcast) on both chains after the fork and be a valid transaction and confirm. This means that if you intend on sending coins on one fork, you could accidentally end up sending your coins on the other fork as well since someone else could take your transaction and replay it (i.e. broadcast it) on the other chain's network.


  What does replay protection do?


Replay protection is something that makes it so that transactions on one chain are invalid on the other chain thus preventing transaction replay. This can be anything from having a blacklisted address or output type (e.g. if an output to address X is in the transaction, consider it invalid) to changing the signature scheme to changing the transaction format entirely. All this does it makes replaying some or all transactions impossible.