Thanks Andy for speaking up about this.
We have met on IRC a few times.
> two chains in sync
Do burned coins need to sync?
> reorganizations on each chain
This is a good point and I will need to look at this more carefully.
At this point I think it would only be a problem if the coins are burned at the time of the reorganization. Colored coins cast during a resync would be treated like the chain token defaulted, so it could happen, especially with new altcoin chains. The planned use case is for more established altcoin blockchains. The operator of such a practice would be holding the private keys for the chains in questions, so while a chain might reorganize the base colored tokens could be reissued.
> authenticating the transfers
I believe I just did not make my problem and solution clear enough from the start. All transfers are now handled by the colorcoin tracking system and the Bitcoin blockchain rules.
I am aiming for a max-min solution for chains that choose not to pin on a side chain.
I use colored coins in the example as it is the most simple to implement with. CounterParty might be a more powerful solution for more exotic smart contracts, but the original problem was the auditable issuance of composable assets from external chains on the Bitcoin blockchain.
The identity of the external chain burned token is pinned (the unit of account is moved) and the color coin reflects the free market value of the external tokens. I realize now I should have made the title cross chain token pinning. If the chain goes bust the colored coin goes bust unless it has a thriving ecosystem on the chain of colored coin issue.
What makes this attractive for all users is the security features of Bitcoin are inherited with the issuance of the colored coin and as mentioned the assets become composable into new hybrid assets and a new industry of bean counting can begin.
Feel free to expand on the issues here I am not covering or missed. I do not usually post here but thought I should as the feedback is usually more rigorous and it seems to be the best practice with any new application ideas.
Edit:
Changed "pegging" to "pinning"