Contrast with colored coins, where buy/sell orders are processed external to the platform - and so there is the risk that one or other party could renege.
Colored coins can be traded for bitcoin using a
single coinjoin TX.
If Bob wants to buy Alice's colored coins, they can write a single TX that spends Alice's colored coins to Bob and spends Bob's bitcoins to Alice. The transaction is only valid after they
both sign it. If either one of them successfully "double spends" one of the inputs, then the
entire transaction would be invalid. So either the trade happens or it doesn't.
Agree - but how do Bob and Alice find each other?
In the traditional securities exchange world, a valid, current bid/offer that is matched with a corresponding valid, current offer/bid is binding: the counterparties are mandated to exchange and there are rules and institutions (clearing houses, etc)., to enforce it.
From what I can tell, counterparty (and mastercoin and, I *think*, NXT) have implemented a scheme that does something broadly equivalent: if you enter bids/offers on those platforms that are matched, then the underlying assets will be automatically transferred by the platform.
On the colored coins systems, there is a decoupling between exchange and settlement. There is no in-built mechanism that will inevitably lead to an exchange of assets as a result of a successful match on whatever exchange platform is used.
You're right that one can create atomic settlement transactions in the way you outline, but that doesn't address the point I was making. You need Alice and Bob
after they have agreed to an exchange to then subsequently create and sign the transaction. What's to stop me making an offer to buy a colored asset for BTC on some exchange and then subsequently simply deciding that I'd really rather not go through with the exchange? Answer: nothing. Hence the section in my article where I outline ways of remedying the situation (performance bonds, escrow, etc, etc)
This isn't a criticism of the colored coin projects - I know many of the guys behind some of the projects and I have a lot of respect for them and the "embed bids/offers in the blockchain" architecture of counterparty et al is distasteful to me... but this is, I think, the essential difference between the approaches.