Based on several discussion threads that have happened here and in #bitcoin-dev on IRC, (see
http://bitcointalk.org/index.php?topic=2698.20 and
http://bitcointalk.org/index.php?topic=2500.40), I've been pondering the most secure possible bitcoin bank service.
The point of this service would strictly be safe deposit and withdrawal, not instant transfer between users or commerce. Thus users concerned about the security of their own wallet.dat, especially on Windows, would have a safer (I hope) place to store large quantities of bitcoins.
I initially envision it as stated below. I am not a security/banking expert and I welcome feedback!
1) A VERY simple web form asks for your
withdrawal address. This is effectively your account ID.
2) You are also given a
deposit address that is permanently linked internally to your withdrawal address. This is an internal account in the bank's bitcoin wallet.
3) You deposit funds using Bitcoin by sending to your deposit address.
4) You can check your balance by entering your withdrawal address.
5) To withdraw, you are given a simple web form asking for withdrawal address (a.k.a. account ID), and the amount. If the amount is less than or equal to the amount associated with that address, it is sent to your withdrawal address.
This gives, I think, only 3 forms to secure (account set-up, balance check, and withdrawal), keeps things relatively anonymous, and limits exposure to the outside world. Bitcoin itself is used as the method of transfer and storage. Now, on the back-end I would want to use a hardened linux of some kind, with everything possible (disk and RAM) encrypted, and use redundant off-site encrypted backups with JungleDisk/S3 or the like to keep everything safe in case of failure.
Would you want to use such a service? What assurances would you want? Would this work? Again, I am looking for feedback and especially criticism to hone this idea. Thanks in advance!