[...]
- We should not use the official Bitcoin client because it's very hard to secure it without large investments and affecting instant withdrawals in large amounts.
Can you please explain how using some other software— even a HSM— could have prevented the wallet your site actively withdraws from at the request of users from being robbed by an attacker with root access to your servers?
Here is an interesting dicussion.
https://bitcointalksearch.org/topic/what-can-really-be-done-about-server-hacking-81341
The info on the Thales links offers some interesting solutions for the security minded.
http://www.thales-esecurity.com/Products/Hardware%20Security%20Modules/nShield%20Edge.aspx
JoelKatz also had an interesting solution a few pages back:
/quote/
The correct solution is really never to use a hot wallet at all. There is no reason a key ever needs to be on a machine with Internet access. Methods to sign something with a key while preventing theft of the key or signing of bogus data are well understood since certificate authorities worked them all out. The irony is that CAs frequently ignore these well-understood security practices too.
One way is to a have a machine that is physically secure whose sole purpose is to sign transactions. It can talk over a serial port to a machine with Internet access. The software on the physically-secure machine controls the signing of transactions and is the only machine that can actually process a withdrawal. Any thief could, at most, compromise the machine at the other end of the serial port and would be limited to the commands that exist over the serial link. He could never extract a key that can sign Bitcoin transactions nor can he process a transaction that doesn't meet your security requirements. Yet transactions that do meet those requirements can process without human intervention.
/quote/