1. Open source
2. No third-party trust required (no third party escrow, server, website, etc..)
3. No commissions (except for network fees)
4. No need for identity verification. No need for reputation.
5. Include a mechanism that ensures that transactions, once initiated, are completed.
6. Allows users to exchange $ € ¥ <--> BTC within hours.
2. THIS is the most difficult (if not impossible?) part - you can try to limit this as much as possible, but in the end there is no way to transact fiat money without third party trust, as it is transacting on a different system than BTC.
3. clear
4. Might be quite difficult - if 2 was in place of course you don't need it anyways (you don't need it for BTC). If 2 were possible somehow thoug, there would be no need for BTC in the first place!
5. slightly difficult, fees should be low on one hand but prevent spamming and overloading on the other. I'd rewrite it to "once initiated, you quickly (within seconds) get a decision if it will be completed"
6. That's one of the main points I guess, it makes the other parts (especially 2 and 4) very hard if not impossible. Trading BTC for LTC and others is easy, because these altcoins fulfill #2. USD doesn't.
1 - The software must provide a automatic way to exchange BTC by fiat money. The user just provide the price/BTC and the amount to buy or to sell.
2 - The software must not require any personal information about the user, just run and use the program.
3 - The software must be decentralized, it must not use any server, tracker or infrastructure, it must be P2P, for example as the Gnutella Protocol:
http://en.wikipedia.org/wiki/Gnutella
4 - It must not use any third party services (as social networks), reputation methods (as LocalBitcoins, etc) or support from others users in the P2P network to ensure the exchange safety.
It must use Game Theory to ensure the safety.
http://en.wikipedia.org/wiki/Game_theory
5 - The software can uses third party services APIs (as banks, etc) to move FIAT money automatically between users, but the bank activity of these kind of services should not be related to the exchange activity.
6 - The software must allow to exchange money and BTC to users from anywhere in the world. For example, users from USA must be able to exchange money or BTC with users from EU.
7 - The software must be safe and opensource.
2 - of course!
3 - Must not even use any infrastructure?! Even Gnutella runs nodes and supernodes, which both act as servers and clients at the same time. I'm not too sure you mean what you just wrote the way it looks like to me - I think you mean something along the lines of "anyone with a fairly decent computer + internet connection can run a server and participate in the network"
4 - That looks more like the NashX approach - Game Theory only works if you have rational market participants (and look at current BTCUSD markets and tell me again that the participants there are acting rationally!)
5 - Which ones are "banks APIs" exactly by the way? I am currently checking out quite a few of them and the API part in the international finance community seems to be an utter and complete MESS beyond any imagination. Also you wrote about no infrastructure and no 3rd party risk, now we are allowed to use bank wires?! Nice, I'll open an account in Cyprus right away!
6 -Must they also be able to receive BTC and pay someone in North Korea? Kuba? Iran?
7 - of course, though "safe" is a bit weakly defined and I think you are talking about free software, not just open source.
There is already an exchange that fulfills nearly all the points you mention here by the way and it is live + trading as we speak.