The point of the security behind Bitcoin is that you don't need to trust anybody with the security. Not trusting anyone at all with your money would mean there was zero trade, in the end.
I think one of the only fatal problems with Bitcoin, if it's not overcome soon, will be the 10-minute-per-block standard. Without a third party, real-time transactions using the block chain are not possible or feasible for real-world applications.
That said, I am currently coding an entirely original CMS and secure back-end processing system for this. It won't be too efficient, but any hack besides a DDOS will also have to be original and not some tired SQL injection attack or the like, so security should be good. I've also revised the idea a bit. I know it may seem hard to swallow for those of you who treasure anonymity and no trust above all, but read to the end, please. This seems to be the only feasible way to bring Bitcoin into the mainstream.
The service will function like an escrow. A large number of the server's own Bitcoins will be held as a pool - ie. primary investment, having come from nobody but myself. Bob will open an account, and McDonalds will open an account. Bob now wants to buy a cheeseburger.
Bob can now either:
- credit his account with Bitcoins directly,
- or authorise direct debit to the value of the desired Bitcoin balance. (enter the hard-to-swallow part.)
Since DD is instant, in most cases free, and can only come from an account where Bob has authorized those payments, there can be no question of chargebacks against the service, and no delays. Bitcoins to the value Bob wanted are immediately transferred from the service pool to Bob's account, and the service replaces them from the market with Bob's cash. If those Bitcoins are not for immediate spending, that transaction can then be made temporarily inaccessible to Bob while it's transferred to Bob's address via the blockchain, removing the coins from Bob's "paper" account and making them accessible from both within the service, and any client on which he has the server-generated wallet.dat.
(example: Bob's server wallet address is 1abc456. He has 2 BTC in that wallet as confirmed by the blockchain, and 5 BTC that are just being credited to 1abc456, actually belonging to the service. If the service goes down, he will only have those 2 BTC, but once the 5 BTC are sent via the blockchain, he can access them anywhere. Capiche?)Obviously, the same can then be repeated for the merchant.
But wait - there's more! Since Bitcoin isn't actually currency or a recognized financial instrument,
there is no legal obligation to keep meticulous records of BTC transactions. Cash transactions and names must be kept for 7 years, and they will be. However, this makes it possible to have two types of accounts - anonymous BTC only, basically an online wallet, and the cash-chargeable account. With zero BTC recordkeeping and the potential to rout BTC internally instead of via the chain, Bob could charge his account, transfer them directly to an anonymous account and use that as safely as if he was using the client.
Having a third party brings a great deal of convenience, simplicity and overcomes one of Bitcoin's built-in flaws. Neither seller nor buyer have to really understand BTC beyond which buttons to push. They both, however, recognize the savings over current mainstream processors.
More to come. Also, I'll be opening this server for a stress test soon, hack-this-site-esque.
Disclaimer: The record keeping is only my interpretation and may not be as so. I'm still trying to decrypt the Australian AML/CTF Act 2006 which covers "digital currencies."