Pardon my skepticism, but this is starting to sound like ripple. How decentralised is the final result?
direct peer to peer transactions is as decentralized as you can get!
I have solved most all of the design issues
Initially the only centralized part will be the UDP hole punching directory server. This is only there so that peers can find each other. All comms are fully encrypted, so once two peers can contact each other, no centralized server is needed.
Now some tx will be trading MGW assets and in that case it will be faster to just update the internal balances in the MGW server. You will have to trust the MGW server to redeem the assets anyway, so there is no additional trust required in this scenario. It will be possible to have an option to specify only doing peer to peer trading, but performance could be a bit slower in that case.
Not all of the details are finalized, but I am doing my best to avoid centralization. Not only is it the right thing to do, it minimizes the infrastructure costs required to run InstantDEX! So, both philosophical and profit motives drive toward full decentralization.
P.S. I have even figure out how to fully decentralize the UDP hole punch directory server, but it created some interaction bugs and since it is not germane to the core issue, I decided to do that after initial release. It really is a very lightweight process so no significant servers required. That is why I will be able to have each node be a directory server with just some additional synchronization packet traffic.