I am designing a P2P cryptocurrency exchange that can plug into sites like mtgox and btce:
https://bitcointalksearch.org/topic/ann-ussc-crypto-p2p-server-decentralized-p2p-exchange-application-209269USSC Litecoin-P2P-Server - A Decentralized P2P Client-Server Application & Exchange For Fast Transactions That Utilize Any Cryptocurrency
Application Features:
1. Directly and internally handles wallet.dat files and the Bitcoin/Litecoin protocol.
2. Completely separate database for user accounts with decentralized replication of virtual-server to other P2P servers.
3. Utilizes banks of wallet.dat files that are not mapped to any specific user account. Evenly distributes coins to internal banks of wallet.dat files.
4. End-user client software accounts are assigned to specific virtual-server allowing transactions speeds comparable to a centralized system like Visa, MasterCard, and Pay-Pal.
5. End-user accounts and wallet.dat banks are replicated to other P2P servers.
6. P2P server network monitors each other for online or offline status. Virtualization server replication to replicate virtual servers across network in the event of physical server seizure or DDOS attack [virtual servers house wallet.dat banks].
7. Double spend attacks are mitigated by denying end-users access to wallet.dat files or banks. [Wallet.dat files are internally encrypted].
8. Uses Bitcoin/Litecoin protocol as a lower level protocol like web-browser applications use the transport layer in the OSI model stack.
9. Uses Bitcoin/Litecoin client and wallet.dat files as lower level application.
10. Eliminates need for confirmations by end-user clients and web-server or web based services.
11. No need for end-user to keep wallet.dat files on local computer or phone. Account is in the P2P cloud.
12. Account cannot be frozen or seized by anyone - even the server operator.
13. No changes to the existing Bitcoin/Litecoin network or protocol. Utilizes existing Litecoin network and protocol.
14. End-user application plug-in to existing Bitcoin/Litecoin client.
15. Government cannot track nor trace nor freeze your funds.
16. Funds cannot be traced.
17. Anyone can run a Bitcoin/Litecoin P2P Server (it's decentralized). If the server goes offline or is seized, the virtual server, accounts, and wallet.dat files are still safe and reallocated to other P2P servers.
19. Can be used as an peer-to-peer (P2P) exchange. Can utilize other exchange sites such as btc-e and mtgox for fiat conversions.
20. Completely Open Source.
This is how to best use cryptocurrency protocols
Bitcoin and other altcoins are best suited to operate as lower level applications and should not be designed for direct end-user control or use. Like web browsers use tcp/ip for lower level operations, the Bitcoin application and protocol should operate much the same way. End-user applications and services need to be built on top of the Bitcoin protocol and application.
There is no need to write code from scratch. all of the above can do coded by combining the bittorrent protocol [for virtual server and wallet.dat bank replication] and onion router protocols [for P2P Server communication] with the existing Bitcoin/Litecoin protocol [This would make a hybrid bittorrent/onion router/Litecoin application].
I will post on here design specs but I will not code it for you.
You have my permission to use the above designs. I will not make a patent or copyright claim against you so long as you keep it open source. I do not own any patents on the above system. It came from meditation and thought.
You don't necessarily have to use the Litecoin protocol, Bitcoin or Worldcoin will work as well. But I recommend the Litecoin Protocol [fast and secure].
I have been an Active Directory admin, and MS Exchange admin, Banyan Vines Street Talk Admin, And have supported everything from X.25 to X.400 and Protocols from RIP, OSFP, BGP, etc...
If you have any questions on how to design the application, I will post answers on here. You can PM me or just post your design questions here. I will help you. If you code an application for this then please give me credit for some of the design. That is all that I ask and maybe a little donations in Litecoin [PM me for address].
Get to Coding.
Thank you.
USSCFounder
Here are some of the first design specs to help you code the above system.
The system should be coded to run on an LAMP server using PHP and MySQL only. Perl can be used to facilitate server side scripts and systems commands as well. The end user client or plug in can be coded in C if desired.
Virtual Servers
Virtual servers are just database tables that give a type of centralization to P2P servers facilitating a single point of transaction for a specific user account; thus allowing for speedy transactions that could not be otherwise obtained by conventional P2P cryptocurrency networks. Virtual servers can be configured to be reassigned to other physical servers in a few minutes in the case of ddos attacks or physical server seizure by authorities.
virtual-server-001.user.table
user-id-key | coins.litecoin | coins.bitcoin | coins.namecoin
(bob) XXXuser-id-key-001XXX | 100 | 0 | 20
(alice) XXXuser-id-key-002XXX | 0 | 100 | 20
The coins can then be evenly distributed so that no one account can be linked to any specific wallet:
virtual-server-001.litecoin.wallet-bank-001.table
wallet-id | coin-amount
wallet.vs-001.bank-001.litecoin-01.dat | 25
wallet.vs-001.bank-001.litecoin-02.dat | 25
wallet.vs-001.bank-001.litecoin-03.dat | 25
wallet.vs-001.bank-001.litecoin-04.dat | 25
virtual-server-001.bitcoin.wallet-bank-001.table
wallet-id | coin-amount
wallet.vs-001.bank-001.bitcoin-01.dat | 25
wallet.vs-001.bank-001.bitcoin-02.dat | 25
wallet.vs-001.bank-001.bitcoin-03.dat | 25
wallet.vs-001.bank-001.bitcoin-04.dat | 25
virtual-server-001.namecoin.wallet-bank-001.table
wallet-id | coin-amount
wallet.vs-001.bank-001.namecoin-01.dat | 10
wallet.vs-001.bank-001.namecoin-02.dat | 10
wallet.vs-001.bank-001.namecoin-03.dat | 10
wallet.vs-001.bank-001.namecoin-04.dat | 10
(MORE TO COME)
Additional design specs:
virtual-server files can then be propagated to other P2P servers simply by sharing the files via bittorent to the other P2P servers:
virtual-server-001 files to be propagated to P2P network:
virtual-server-001.user.table
virtual-server-001.litecoin.wallet-bank-001.table
virtual-server-001.bitcoin.wallet-bank-001.table
virtual-server-001.namecoin.wallet-bank-001.table
wallet.vs-001.bank-001.litecoin-01.dat
wallet.vs-001.bank-001.litecoin-02.dat
wallet.vs-001.bank-001.litecoin-03.dat
wallet.vs-001.bank-001.litecoin-04.dat
wallet.vs-001.bank-001.bitcoin-01.dat
wallet.vs-001.bank-001.bitcoin-02.dat
wallet.vs-001.bank-001.bitcoin-03.dat
wallet.vs-001.bank-001.bitcoin-04.dat
wallet.vs-001.bank-001.namecoin-01.dat
wallet.vs-001.bank-001.namecoin-02.dat
wallet.vs-001.bank-001.namecoin-03.dat
wallet.vs-001.bank-001.namecoin-04.dat
It is that simple to make a virtual-server. Each P2P server would have local copies of the virtual-servers on the network but only a few would actually be online. Every virtual-server would exist in an online state only on one of the P2P servers on the network. That means if virtual-server-001 was online in a New York P2P server, an exact copy of it on the Moscow server would be offline. In the event that the New York server was seized or ddos'ed and went offline, virtual-server-001 would then come online in Moscow.
Its a layered P2P application; one P2P application layered on top of another P2P application.
(MORE TO COME)
The idea came from trying to stop all of the new alternate cryptocurrencies being released daily:
https://bitcointalk.org/index.php?topic=208327.20If you would like to help with this project please PM me. If you have any questions you can post them in the above discussion.