I've been thinking a lot how to help building real Bitcoin economic. There are many shops and other services built on Bitcoin ("bitcoin shop" on google is giving me 13 milions results!), but I cannot resist the feeling that many of them doesn't look trustworthy.
And building trust on Internet and especially in Bitcoin community is really really hard. You probably remember all those recent scams as bitcoin7 and mybitcoin, right?
I'm personally very cautious which services I'm using and I'm always searching the Internet for good references. But this is chicken and egg problem. When there's new service, how it can prove they're trustworthy? Like this one (Bitzaar.com)
, which popped up today. It's new web wallet specialized for merchants and looks professional, but isn't that only new generation of mybitcoin scam? How can people trust them with storing funds?
So I have one idea, but it's mostly request for comments, nothing well-advised yet. Maybe we find some major flaw why it won't work, but nevermind.
Let's create escrow specialized for new services and for building their initial trust.Why:
a) New services can deposit xxx coins to this escrow, which will be used as assurance in case they'll suddenly disappear or they got hacked (you know, many new useful services are usually in alpha or beta stage, it's hard to trust owner AND his alpha software).
b) Existing and well-settled services can use this escrow for their cold storage backup, as act of their openness to community.
All bigger services (which are also well designed) are using some kind of cold storage (coins, which are managed by service, but they don't need to be used instantly, so they're stored on some offline medium). This is really good way how to protect user's funds against hackers. However users must believe this cold storage is well designed. Also many services are mostly one-man shows (like my pool :-) ); what happen when owner will die (God forbid!)? All coins will be probably lost, even when this owner had good reputation.How:
Every service which want to build their trust in community by using this escrow should decide how many coins will deposit here. Of course merchant selling Alpaca socks don't need such big assurance as new ewallet. They can also claim they'll be storing some percent of all received coins here as a cold backup, which also depends on type of business. Typical ewallet or exchange can probably store more than 70% of all coins to cold backup without any problem, because most of received coins is just sitting here forever. Service simply announce their rules for using escrow and then they receive permanent address for storing funds. Finally they can use the fact they're using this escrow/cold backup on their website or promotion. There can exist simple public web UI which display contract details for given service so everybody can check if this service is really depositing enough funds.Security:
* If it will work and will be succesful, in escrow will be probably huge amount of coins stored for longer time period. Fortunately, they don't need to be accessed online most of the time, so internal cold storage is a perfect way to go.
* Private keys for cold storages can be encrypted with erasure coding
and every part can be provided to many well-trusted members of Bitcoin community. Thanks to this, there need to be a consensus of more people before cold storage will be accessed and coins used, because no single entity can take all coins from escrow and disappear.Known problems:
1) How to check how many coins should be in escrow if service make a promise to pay some percent of their funds?
2) How to decide who to pay after service crash.
3) Service itself can act as many of customers in claiming process after crash, which will reduce paybacks for regular users.
4) How to pick "trusted members"?
It's for longer discussion, but I'm thinking about concept of reversed "green addresses". Service will use their green address for consolidating all income from customers. Every customer can check if his funds sent to this service has been transferred to this address and thus confessed as service income. Of course not many services will want to publicly show their income, but it's absolutely their choice; they'll receive additional trust for their openess. Personally I don't think revealing this information is so much sensitive. Total income and at least rough estimation of cold backup amount for the biggest Bitcoin services is usually publicly known (at least for Mt Gox and other exchanges and for most of the pools).
Depositing coins to escrow is pretty good signal for community that they're serious about their business, however it's only one part of problem. What if this service get really hacked or owner disappear? It's not not easy to answer who to pay and it depends on type of business. I can image that for some smaller business will be enough to make a promise like "If I disappear, use all those coins to Bitcoin development and give it to Bitcoin foundation". However users of bigger services (like exchange) will probably want to receive back at least part of their funds. There are still many solutions in the game, just two extreme ideas:
* Board of trusted members (holders of erasure coded private key for service funds?) will be established and they'll approve user's claims using some facts (realized transactions from private wallets to service wallet, scans of bank transfers etc). This can be a lot of work and nothing for impatient people. This also won't be absolutely fair, because not all users can provide enough evidence about all their funds stored there. But world isn't perfect and the main target is that funds from cold storage will be distributed back between people.
* Second way is more automated. If merchant will be interested, they can provide (daily) snapshots of customer's funds stored there, with absolute amounts or just as a percents of all funds. This report can be private, accessible only for erasure key holders, to protect personal data (account balances) of customers. Actually refunding wallet & share on total funds is necessary. This is of course related to point 3) below, but those snapshots can be used at least as starting point for next investigation (I have some idea for following discussion, if anybody will be interested).
To be discussed. Any idea?
Of course there's tiny chance that trusted members from Bitcoin community and holders of erasure coded private keys will make a devil plan, steal all deposited funds and buy some nice island on Bahamas. But every service can nominate another "trusted users" from Bitcoin community (and it's only up to people if they're trusted enough to believe it's not yet well-elaborated scam). Thanks to this, it's not necessary that all funds stored in escrow will be in hands of few people.
Concept of escrow/cold storage can be very flexible. I can imagine that somebody will deposit 2000 BTC on his service launch and claim his intention to send it (in case of scam/hack) to Bitcoin developers (or ongoing Bitcoin foundation?) as his commitment. Another extreme can be a cold backup of some exchange and tight integration of with escrow, so when service got hacked or operator disappear, every registered member will get his fair share of deposited funds. But it's definitely case to case what will fit better for given business.
Edit: Heh, much longer post than I initially expected :-).