Tuesday, November 20, 2012

Start Your Own Money Press

Physical cash is old and well-working concept. It has a good privacy model, it is relatively anonymous and it is easy and fast to use. Physical cash won't go away anytime soon, because it works so well.

However there are some problems, which might become bigger issues in the future. Central banks are always able to print physical money as much as they want, which will cause devaluation of physical cash for everyone. Additionally, even if you believe in central banks, private entities with skills and resources are able to print cash as well. In fact, there already exists counterfeit cash which even skilled experts can't distinguish from goverment-printed money.

Bitcoin solves effectively the counterfeiting problem, or so called double-spending problem. It also removes nicely the need to trust the central bankers. However, being a virtual currency, using bitcoins is often seen much more difficult than using cash or other traditional payment methods.

One nice concept around Bitcoin is a paper wallet. It allows anyone to store bitcoins on a paper, like physical cash. Unlike physical cash, bitcoin paper wallets aren't suitable for large-scale trade, but they have other useful applications:

  • Getting people introduced to bitcoins, a learning tool
  • Relatively secure way to store bitcoins - generate the paper wallets offline on a computer, print them out, and store them in a bank safe
  • Trade in high-trust environment, such as between friends and family
simplest possible bitcoin bank note
The simplest possible bitcoin bank note contains only the private key. You can derive the corresponding Bitcoin address from the private key. However usually it makes sense to include also the corresponding bitcoin address, to make usability easier.

Other than that, only the sky is the limit. Bitcoin paper wallets come in all sizes and forms, and it is also fairly easy to create your own design. You can store any amount of bitcoins on paper wallet - be it one million bitcoins or 0.00000001 bitcoins (one satoshi). You can also load them as you go - it might be useful to have receiving addresses in your wallet, just in case. You can store the private key somewhere else securely.

The best thing about bitcoin paper wallets is that they are not dependant on any of the running bitcoin services, except the bitcoin network itself. Even if invidual web sites come and go, the Bitcoin network highly probably will stay up and running, and you will be able to redeem your bitcoins even aften waiting 10 years.

Printing your own Bitcoin bank notes

Bitaddress.org provides easy way to print your own bitcoin cash. The steps are:

  1. Start your web browser. Use incognito window or similar.
  2. Go to bitaddress.org
  3. Disconnect your computer from the internet
  4. "Paper Wallet" -> "Print"
  5. Clear browser cache and all private data, restart browser
Tinfoil hats will not be happy with these instructions, therefore I have included extra security cautions in the footnote [1].

After printing, you can apply some kind of tamper-evident sticker on top of the private key. Also one option is to laminate the wallets, as I did - it makes them more durable.

Creating your own custom design

Bitaddress.org is just a static html/javascript page, you can download it to your computer and modify the behaviour to match your requirements. The most obvious thing is to create your own design for the bank note.

This can be done with following steps:

  1. Create your custom artwork with any program such as inkscape or photoshop
  2. Export it to png at 795x430 pixels
  3. Convert the png file to base 64 data
  4. Replace the contents of the img tag, id "papersvg" inside javascript 

You can also replace the site logo (id logo), or localize the site to your own language. Then you can upload the html file to your own server, so anyone can use your design to generate bitcoin paper wallets.

Loading and redeeming paper wallets

Naturally any QR-scanning capable bitcoin wallet app can be used to load the paper wallet. Not all apps can be used to redeem the contents. Our easywallet.org web wallet can be used to sweep the transactions from the private key. It works on iPhone and Android, also with one-tap if configured properly. Easywallet.org doesn't import the private keys, it just sweeps the unspent transactions to the wallet address and after that forgets the private key.

Additional resources and links

https://github.com/salfter/btcnotes/ - beautiful multi-coloured banknotes
https://github.com/kangasbros/skimpybtcnotes - my own take, really minimalistic and small bitcoin bank notes and storage sheets
http://ocantinhodadama.clinicadosom.com/2012/07/20/bitcoin-note-design-psd-file/ - really nice bitcoin paper wallet design as a PSD and SVG file
https://casascius.com/graphnote.zip - other design by casascius
https://bitcointalk.org/index.php?topic=92969.0 - lots of designs and discussion
https://github.com/pointbiz/bitaddress.org - bitaddress.org on github

[1] Extra security cautions for using bitaddress.org:

  • Use linux from USB stick, such as tails (handy amnesiac distro)
  • Don't connect the printer to a internet connected machine - ever (printer manufacturers are controlled by reptilians)
  • Download the file locally and validate the SHA1 checksum provided by the bitaddress.org author
  • Wrap everything in tinfoil

2 comments:

  1. I've become obsessed with paper wallets, I'm trying to find the best designs. I like bitcoinpaperwallet.com the best so far, but the one thing I don't like about it is the varying thickness throughout the wallet (the private key section is three times as thick as the rest) I want something that's even so it carries nicely, and is physically attractive. Some of the wallets you have pictured look good, I'm checking out your reference links. Thanks for the good info!

    ReplyDelete
  2. I have found nice information from about magnetic badges & button badges.Great informative blog.

    name badges & magnetic badges

    ReplyDelete

Note: Only a member of this blog may post a comment.