How are popular online bitcoin wallets, like blockchaininfo's implemented? Why aren't they open-source?
closed as not a real question by o0'., Highly Irregular, cdecker, Nick ODell♦, ThePiachu Feb 3 '13 at 1:36
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.
Accuracy not guaranteed
See How It Works
What are they not open source?
They are commercial enterprises with a large amount of development time invested. The code being open source would a) increase competition b) cause identical phishing sites to popup c) clones maybe be hacked or run by scammers damaging the reputation of the main site.
Parts of blockchain.info are open source. I personally hope the rest of the site will be fully open sourced one day but there is much to plan. If the code is just dumped it will not benefit anyone.
As someone that has implemented a small eWallet, I suppose I can answer this question from my perspective.
An implementation of an eWallet is fairly simple. Using the official API makes everything come down to issuing correct JSON RPC calls. You generally have a bitcoind instance running on a server, along with your website front. The main problem is making sure that your site can distinguish between various people and make sure they can't access each other's money. In practice, it's fairly simple.
There are a few implementation roads you can take with eWallets:
There are a lot of concerns one needs to keep in mind when implementing an eWallet - mainly safety of your funds and so forth, but that's a topic for another question.
As for why they aren't open source, well, I personally want to earn some money from my work, so I keep the source code for myself and anyone that commissions me for creating one for them. Other reasons not to go open source can be to avoid competition, or not to expose some potential security flaws in one's system.
If someone wishes to share their work with me, I am grateful. But I do not expect that others are obligated to share their work.