Thanks for asking
You set up a Web/Hive frontend that shows people who post their intention to trade Hive for BTC and BTC for Hive. We have embedded custom JSON for this. The two parties do not have to know each other, they simply have to trust the same middle man (escrow agent account).
There are various ways to build up a history and a reputation for this. The frontend can even recommend escrow accounts they feel are trusted entities for new users who have no idea who they can trust. In fact, I would probably have my own escrow account (or at least our witness team would) so they would also be on the list of trusted accounts as well.
I think the Biggest problem would be onboarding users that don't have a Hive account yet. We do have various ways to do this but it isn't super streamlined yet and the way we do things is a bit different and might confuse users from other chains who haven't heard about us yet.
Someone still has to setup the front end, and that's a bit like a 'real' dex. So isn't this still a bit centralised? (not meant as criticism, just me, thinking along your lines).
No, because the frontend doesn't have to be run on a server. The code could be open source and be run directly from your own machine or there could be multiple servers and multiple frontends hosting the service because all the relevant information in on the Hive blockchain; accessible to all.
Basically anyone who has the block information can host a frontend.
I see. And the code for the front end could contain the code for discovering all buy bids and sell offers entered on the chain as well. So anyone running that code on his or her local machine or server would present the same list of bids. Or could perhaps apply a filter and show only all bids for buying Hive or whatever.
Nice!
It's good to ask questions. These things are complicated and the devil is the details for sure.