If one of the goals of Bitcoin is to have it be widely used, it needs to be easy to use. Currently, only computer-proficient people have the skills to use Bitcoin effectively. There are two major barriers I see that prevents the non-computer-proficient person from using Bitcoin. Both relate to the wallet file:

1. The wallet is 'difficult' to access/backup/transfer. What percentage of eventual Bitcoin users would even know where this wallet file is stored? Even fewer know how to navigate to their hidden-by-default AppData folder. (I'm assuming most people would use a Windows installation).

2. The wallet is completely unsafe. Everybody who uses the default installation option has an unencrypted wallet ripe for the taking. It would be easy to write a little *.bat script to steal a wallet. You cannot expect the non-computer user to understand how to encrypt a file using third-party tools, especially a file so 'difficult' to access.

Bitcoin adoption could be facilitated by having some rather trivial additions to the client:

Functionality changes:

Wallet is always stored in an encrypted state when not in RAM.

When the Bitcoin client starts, user must provide password to the encrypted wallet. Upon success, wallet resides in RAM so it can be used.

When a new address is created, the program can automatically update the encrypted archive with the new payment keys.

When the program is closed, the wallet file is still encrypted/safe.

As a result of the previous point, the wallet is safe even if the program is closed unexpectedly (power failure, or the like).

UI Changes (under 'File'):

Save current wallet as...

Load wallet...

(Of course, a prompt for an encryption password would show up for either of those options).

This functionality would take a very small amount of effort to implement. Is there a reason this hasn't been done yet? I am trying to introduce Bitcoin to family members, and these are problems I anticipate. Some are very interested in the concept, but cannot navigate a file browser. To be honest, most people in the world are not that great with computers, but still participate in the economy. User-friendliness is key. I believe that simple changes like that would expand the economy by orders of magnitude.

Please let me know what efforts are being taken to make Bitcoin completely accessible to anyone interested, not just the technologically inclined. Thanks.

EDIT: I just now noticed there were two dev boards. I originally posted this to what looks like the third-party dev board...but my proposition needs to be in the official client. Wallet management should be a core feature.

It takes time for developers to discuss change and figure out what's the best way to do things.

I understand that encryption details might need a discussion, but a wallet load/save feature seems like it should have been there from the beginning. I'm a developer too, and I would consider wallet handling critical priority. I'm just curious if something like this is even in the pipeline is all.

I understand that encryption details might need a discussion, but a wallet load/save feature seems like it should have been there from the beginning. I'm a developer too, and I would consider wallet handling critical priority. I'm just curious if something like this is even in the pipeline is all.

Like said, a better (or complementary, using 2 passwords) approach would be to encrypt private keys only to allow more flexibility.But, generating new keys would cause some problems because you need the key to encrypt them, and it's not secured to keep the key in memory. So deeper modifications of the bitcoin client are needed.

I understand that encryption details might need a discussion, but a wallet load/save feature seems like it should have been there from the beginning. I'm a developer too, and I would consider wallet handling critical priority. I'm just curious if something like this is even in the pipeline is all.

I'd love to help out sometime. Didn't notice the call for developers on the other dev board. I've not used Git before, but I have used other version control systems (SVN, CVS, MKS). I tried building the dependencies for bitcoin and ran into a few issues, but I'll definitely give it a look when I have more time.

Cool -- this sounds like the sort of thing that would help this project quite a bit.

Thanks all for your responses. I just feel like it's important that we remove as many barriers to entry into the Bitcoin economy as we can. I need way more things to buy and a much larger audience to sell to.

It takes time for developers to discuss change and figure out what's the best way to do things.

I understand that encryption details might need a discussion, but a wallet load/save feature seems like it should have been there from the beginning. I'm a developer too, and I would consider wallet handling critical priority. I'm just curious if something like this is even in the pipeline is all.

I'm inclined to think that having multiple Wallet files around creates just more confusion. At least I find it incredibly difficult managing all my wallet backups in an orderly manner However, the novice user and computer illiterate *must* be taken into account. I think the best place for a 'wallet' would be on a USB stick. The novice user would dedicate an old, small 256 MB memory stick for this usage, the Bitcoin software would have a Preferences choice "Keep Wallet on a USB key" that the user could check. In my opinion, "Import" or "export" would just confuse the novice user, because then they would need to form mental images to differentiate something "inside" the computer from something they just created with Bitcoin. uh oh.

As someone who is new to Bitcoin, I totally agree that there should be an easier way to make sure my wallet is safe and secure. Even on a Linux machine, the wallet is stored in the same location by default. I do not like the idea of keeping my wallet on a USB stick; what if I lose it? Would it just be a copy of the wallet or the entire thing?

As someone who is new to Bitcoin, I totally agree that there should be an easier way to make sure my wallet is safe and secure. Even on a Linux machine, the wallet is stored in the same location by default. I do not like the idea of keeping my wallet on a USB stick; what if I lose it? Would it just be a copy of the wallet or the entire thing?

I think the idea of Wallet-on-USB-stick is perfectly valid for users who don't really understand the concept of a "virtual wallet", or file management for that matter. An Advanced user (or anyone who understands the implications and wants to back up his wallet onto another system for example) can just tick off the option in the program Preferences.

We need a wizard that would guide the novice user using the sw for the first time to allocate an empty 512MB-1GB USB stick for the purpose and label it "MY BITCOIN WALLET" and never lose it like they would not want to lose their physical wallets. The wizard would then format the thumb drive with a certain volume name, and that's how Bitcoin also identifies it as the Wallet.

I would - even though I consider myself an "expert user" - opt to use a USB drive instead of fooling around multiple copies of files around my machines. I'm usually more reliable in the physical world than in bits ...and I could take my wallet file to my friend's computer and (supposing I trust him) could then use his computer to do transactions.