Hello all,
In relation to
this thread I got the idea, that it might be possible to build a purely peer to peer based crypto currency exchange.
I do not have anything concrete as to how it might be implemented, but I imagine that as a user I would be able to start up the client, it would then connect to peer nodes in the network, collect all active bids and asks, and then show them to me in a "depth" style overview.
I would then be able to enter an amount, a bid or ask price and then click "submit". My bid/ask would then be broadcast across the entire network, looking for a matching bid or ask. If a match was found, it would automatically create a payment to the peer user, and the peer user client would be able to claim that payment in the opposite currency only by sending the agreed currency to me as another payment.
As I explained this is just a very rough idea, hopefully someone will be able to run with it and make it more concrete. There are lots of questions to answer, such as which currencies should the network support (ideally any currency for which a client like bitcoin-qt exists), precisely how the actual exchange can happen in a secure way that would prevent one side from taking the other sides money without sending anything in return, what to do with limit orders that are partially filled or cancelled - etc etc. As for exchanges with real, fiat currencies, you could imagine that clients could be built that would use API's on Gox or BTC-e to continuously bid and ask BTC for USD using the latest prices from the p2p network. The reverse is also true, real world exchanges could bid and ask on the p2p exchange similar to what I could do from my own home.
I'm thinking that if we had such an exchange, people could trade their btc to ftc to ppc to min to yac - back and forth however they liked, with no fees, no spread, no delay, no central server to handle a massive load, and no way to cheat the system -- and no simple way to take it down (dwolla).
What do you guys think? Is this too wild to implement?
-Michael