It is impossible to match trades on a blockchain, such that a central exchange will not be vastly more efficient. Each block can produce only one efficient price. Exchanges match in realtime. Exchange matches between N people in a fair order, while blockchains generally allow the transfer between 2 people (1:1 or multisig).
There are many reasons why decentral exchanges in the current model of just using blocks for matching trades can’t work. Nxt MGW makes a bit more sense, because it does not have blocks. Also there is no AML/KYC - which means there can’t be any fiat trades. Ripple is somewhat of a competitor to Nu and has a completely different topology, but aims at being an exchange of sorts. It’s not clear what decentral exchanges could even look like. One needs a lot of knowledge of exchanges, and can’t just take a blockchain and tags things on to it. Blockchains are designed for a completely different purpose. While Nxt allows to issue assets and match trades in a decentral way, it also shows the limitations.