What happens when a forked chain becomes longer than the main block chain?
Let's assume the forked chain that just became longer has no transactions in it, so it is as if every transaction in the last n blocks never happened.
As I understand it, the official Bitcoin client will recognize that any recent transactions it sent no longer exist and will re-broadcast them. By question is,
- What age transactions will be re-issued? Will a transaction that is years old still be reissued? What's the cutoff?
- Does the exact transaction get reissued or does an equivalent transaction get created? i.e. will it attempt to send the exact same Bitcoins (which, due to the fork, might no longer actually be owned) or will it create an equivalent transaction based on Bitcoins that it still owns? What if the client doesn't have enough Bitcoins?
Edit: Since I can't find where I first saw it anymore, I guess I should also ask: does the official client, in fact, reissue transactions in the event of a block chain fork?