Currently, bitcoins and namecoins are implemented using the Bitcoin protocol. And there might be several reason for new block chains to appear, but this is not the subject here.
As far as I know, Bitcoin was not designed with ‘cross-currency atomic transactions’ in mind. For example, as of today, one cannot exchange bitcoins for namecoins using the Bitcoin protocol itself. A partner might be willing to trade, but some trust is required: who will send their coins first ?
Given that the main interest in Bitcoin comes from its decentralized nature, accepting the need of a third party to arbitrate exchanges between two such decentralized currencies is rather disappointing.
Is there anything to be done to allow ‘decentralized cross-currency transactions’ using the protocol itself (scripts maybe)? or could it be achieved with some simple modifications to the protocol? Is this theoretically impossible under some specific conditions?