Alice and Bob reached an agreement of exchange Alice's 1 BTC for Bob's $120
Alice deposite risk fund of 2 BTC at NashX, and Bob deposite risk fund of $240 at NashX
Once they reached agreement, their risk fund will be at the other party's control, but they can only destroy it
Alice sent 1 BTC to Bob, and Bob received the BTC and did a bank transfer of $120 to Alice, then release Alice's risk fund. When Alice recieved the wire transferred USD, she also release Bob's risk fund
But, if Alice sent 1 BTC to Bob, and Bob do not want to send Alice the USD, then Alice will destroy Bob's risk fund, so Bob eventually received 1 BTC but lost $240
Bob can also destroy Alice's risk fund, so after that transaction is recorded in the blockchain, Alice's risk fund should be released automatically
BTC users can always initialize the transaction and get the risk fund back, since the transaction is in the blockchain. Seems the first sent medium will always be BTC
Notice that Alice is still be able to destroy Bob's risk fund even after receiving the USD from Bob's bank, this is the weakness of the system, since there is no way to easily prove that Alice did receive the USD from Bob. Of course Bob can provide a bank transfer record, but that is still not any form of machine readable code
And, NashX itself is also a centralized exchange organization, but does not provide some useful function of an exchange, for example automatically match buyers and sellers by the order size so that you don't need to care about your order size being too big
Anyway I like the idea of having some kind of network based trade insurance system, if a system can guarantee that two users can initiate the transaction without worrying about the other's default, then it is a great system