The wallet is a simple data file that contains a set of Bitcoin (or insert your preferred currency here) addresses. That’s all you need to keep your Ecoins with you. The block chain is copied to every single client has a list of every single transaction and balance for your given currency, e.g. Bitcoin. The security of the wallet depends on the security of your computer or smartphone. What if you could embed your money inside your mind? We explain how to create a brain wallet.
Wallets are intangible
The problem with Bitcoin wallets, is that the receiving addresses are difficult to remember, so you need to keep a record of them. If that record is lost, you won’t remember them, and when gone all the money is gone with them. That’s why it’s imperative to keep it back up.
Duplication isn’t a problem because the addresses are unique and are all kept up to date via the block chain. Even using different clients works well because all transactions, and thus balances, are synchronised via the universal block chain for your chosen currency.
Because of the ubiquity of the of the block chain, a public ledger which every virtual currency requires, transactions are globally in sync with every user of a given currency. The only benefit of so-called “cloud wallets” is that your addresses are backed up and synchronised across devices. Sure, the cloud services (e.g. Coinbase) will handle the transactions for you and so your multi-device experience should be faster because they are not synchronising with the block chain, but with a summary of your cloud-based wallet.
The problem with the wallet
As stated above, if you lose access to your wallet you have lost your bitcoins. Also, if your wallet is not encrypted or if someone gains access to your bitcoin client, your funds can be easily misappropriated. Because the private key to each address must be used to prove you are you in a transaction is included, and someone could put in one of their addresses as a recipient and send from your client.
Keeping your wallet out of harm’s way
One way to keep your wallet from being accidentally deleted, or emptied by an intruder is to keep the details of the account stored purely in your mind. Now of course, a bitcoin address along with the accompanying public and private keys are far too much for the average person to remember. Fortunately, all of those numbers can be calculated from a single pass phrase (i.e. A password). If you can think of a strong phrase, and jumble it up with deliberate misspellings and substitute some letters for visually similar numbers or symbols, you then have a highly secure system. The only problem you then face is law enforcement or criminals compelling you to give up your passphrase. In this case, you might be able to get away with creating a dummy pass phrase to an address that you already have some bitcoins on. However, due to the block chain, whoever is forcing you to divulge your pass phrase may know you are lying.
However, in most cases the legal precedents are still being set for whether you are required to give up a key to law enforcement. In the US, it’s still being debated on the grounds of the Fifth Amendment. The Silk Road case is very interesting in this regard.
Tools to create a mind wallet
To reemphasise, the pass phrase needs to be long and difficult to guess. For example, “coyn Desk is th3 mo$t !ncredible bl0G in teh werld“. Here, I’ve gone for phonetics, character substitutions and misspellings. Importantly though, I’ve used them inconsistently. If you want multiple addresses to build up your wallet, simply put a description or number index at the end of the passphrase.
Once you have something you will be able to remember, you need to generate the address and keys. I have found a couple of online tools to do this, there is bitaddress.org, but more versatile is the specifically named brainwallet.org. It allows you to reconstruct from not just the pass phrase, but also from its SHA 256 digest or the original private key.
Using the mind wallet
Once you can generate your bitcoin address from your passphrase you’ll need to put it to use. If you are completing a transaction in your browser, you can just paste the relevant codes into a form. Alternatively you cold import the wallet back into your bitcoin client.
To do this, open bitcoin-qt on your desktop, open the Help menu and select “Debug Window”. Then, click on the “Console” tab, and type in
Importprivkey [Your private key here without brackets] “The label that you want in quote marks”
It will take a while for your client to import the data as it has to trace the bitcoin address back through the complete block chain to obtain the full balance of bitcoins. (Of course, you’ll have to find alternative instructions for importing a private key if you use a different desktop client, e.g. Amory.)