I am not sure if this has been mentioned by someone else. To make the decentralized exchange works, we need a standard peer-to-peer protocol to broadcast all the required information: IPO invitations, definition of assets, ask/bid orders, and cancellation of such orders. It's just like how transactions and blocks broadcasting on the bitcoin network. All messages should be signed by the private key of associated bitcoin addresses and/or GPG. For example, IPO and asset definition should be signed by GPG of issuer, and ask/bid orders should be signed by addresses holding enough bitcoin or colored bitcoin for completing the trade.
The peer-to-peer client should be able to check the validity of ask/bid orders. It should also generate raw transaction based on colored coin trading rules, allow transmission of partially singed transaction among the trading parties, and broadcast the completed transaction to the bitcoin network. It should also work as a bot, which will automatically sign transactions based on user instruction.
The efficiency of such system is a big concern. Some user may post a valid ask/bid order but never complete the transaction. Some user may try to double spend their bitcoins or colored bitcoins. Therefore, we need a peer-to-peer rating system to keep a track record of the traders, based on the bicoin addresses or GPG key used.
Nope. I think this line of thinking is a big problem in general in bitcoin community - you don't need to decentralize everything "perfectly". Perfection is the enemy of good enough. Or non-released perfect product is useless.
For starters, I think that for this decentralized exchange to take off, we need a) very simple protocol, built on top of bitcoin block chain, which handles the very basics and b) centralized service, run on tor network, which offers the feature so that they can be easily used. People would use the centralized service,
but they would have the opportunity to withdraw their shares from the centralized services to the decentralized protocol level.
Advantages: good business model for the centralized service (fees etc), while still no trust required in the long-term for the centralized service (people can store their shares also in the block chain if they wish).