This is the part I don’t get. If I transfer all my coins on Blockchain 1 to a different address under my control, who and why will bother to replay that operation on Blockchain 2? Even if that somebody replays my transaction instead of me, I will still have my coins in both forks, because I have the private keys.
The only thing I will presumably lose in a replay is some of the fees on Blockchain 2 (it will likely be cheaper to move coins there after the fork, but I will have spent the correct fee for Blockchain 1). Right?
Because of the above, I don’t understand why I need to timelock my payments. Even if I don’t bother replaying my transaction on Blockchain 2 after I move my coins on Blockchain 1, it shouldn’t really matter. As long as I’ve already moved my coins on Blockchain 1 to a different address I control, I can skip moving them on Blockchain 2. I can then proceed paying directly to other parties on Blockchain 2 without fearing that this spending will be replayed on Blockchain 1, as the same UTXOs are already spent there.
The way I see it, as long as the first transaction I make on the major blockchain after the fork is a transfer to another address under my control, I will be inoculated against losses from replays, regardless of whether I repeat the operation on the minor blockchain immediately afterwards, or at an indeterminate later date. My coins are only at risk if I transact with another party first, as they can try to get the same amount of coins from the other chain from me.
Is there something wrong with my understanding of the issue, Jimmy Song? I will appreciate your comments!