Paper Wallet

From Terracoin Wiki
Revision as of 19:43, 19 March 2018 by Clockuniverse (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction to Paper Wallets and Cold Storage

A paper wallet is a method of storing a private key to access funds stored on a single address. It can be generated on a computer that has never been connected to the internet, and printed out for airgapped offline storage. As such, they are suitable for storing large amounts of Terracoin, but care must be taken not to lose the private key, since there is no way of recovering funds if it is ever lost. To use the key, it must be imported into an online wallet and should not be used again. Paper wallets are somewhat inconvenient compared to hardware wallets, which also offer a high degree of security.

Paper wallets

Paper wallets use random user and machine input to create a set of keys/addresses which you then print. You can never regenerate a paper wallet once you turn off the machine. What you print is all you get. I don't like paper wallets because they can get damaged, lost, destroyed or stolen. Even if you encrypt them with BIP38 (which you should), a very bad person that finds them (robbery/home invasion) could check the balances and put a gun to your head for the password. See: https://xkcd.com/538/

That said, they are the most convenient and user-friendly way to store coin long term, as long as you keep them safe.

BIP32

BIP32 is a method of generating any number of keys/addresses from a very carefully selected sentence. I prefer this technique because I can always regenerate my keys, even in the event of a house fire. It's a form of brain wallet, but can be done safely if you follow these instructions. (Brain wallets only have a bad reputation because people were choosing short passwords and common phrases.)

The sentence you choose must be unique in the known universe and should be about 110 characters long. It must not have appeared in any TV show, movie, book, song, play, poem, speech, essay, dissertation, or thesis. If it has been published, you shouldn't use it, no matter how obscure the source. Don't search the web for it. I recommend making it from a personal memory. Your control (or loss!) of your funds depends on you not forgetting your sentence. Practice it over and over until you've got it down. Do it every day for a month, then every week. To prevent entry errors, use no capitals, punctuation or spaces. For example:

anorangeandyellowbutterflylandedonmynosewheniwasfloatingdownastreaminblackmountainnorthcarolinainthesummerof1986 Armed with that sentence, just follow the instructions on DIY Deterministic Addresses (BIP32)

You can generate one or ten keys and addresses, and copy only the addresses to a usb drive, then use them as drop boxes. When you need to 'thaw' an address, just run through the process again, but write its key to a USB drive, import it into an online wallet and move the funds.

Generating your keys

Burn a live Linux CD. IT doesn't matter what flavor, but Ubuntu 16.04 Desktop will have the most drivers and is easiest to use. An actual CD is most secure since it is mounted read-only. I use a laptop for this, but that's just because I never turn off my desktop.

Boot from the CD and download/install your tools (or download them ahead of time to a USB drive). The ultra paranoid will complain about exposing the live CD instance to the Internet, but once you disconnect you're fine. Disconnect from the internet, generate your keys/addresses/printouts, and power off the machine. You are now the only person with access to these addresses.

Death plan

Whichever type of cold storage you choose, make a death plan. It will happen to us all eventually. Write down your paper wallet password or BIP32 passphrase for your loved ones. Write down instructions on how to use it. Keep them separate.

Paper Wallet Guide

A Terracoin paper wallet can be generated here:

https://walletgenerator.net/?currency=Terracoin

The website listed here run entirely in your web browser without sending any of the data generated to an external server, but the most secure option is to download the wallet generator and run it on a computer with a freshly installed operating system that is not connected to the internet.

This guide is based on the guide available from https://walletgenerator.net/. Please donate if you find this project useful!

Creating a paper wallet

Go to https://walletgenerator.net/?currency=Terracoin in your web browser (or open index.html if you downloaded the wallet generator). Select your language and choose Terracoin as the currency if necessary.

Some random data is required to ensure the generated address and key are unique. Move our mouse around and/or type random characters into the text box until the process reaches 100% and the following screen appears:

Paper Random.png Paper Public Secret.png

Generating randomness and the resulting Terracoin address and private key using Terracoin Paper Wallet Generator

Once your public address and private key (shown in Wallet Import Format or WIF) are visible on the Single Wallet tab, you should immediately click Print to print the data and store it securely. If you leave the page without somehow recording the terracoin address and private key, all data will be irretrievably lost, together with any funds you have sent to the address.

Encrypting a paper wallet

The information shown on the Single Wallet tab does not have a passphrase and is not encrypted. You can print this paper wallet as it is and use it, but it is not protected from being stolen if someone finds it. You should keep it safe the same way you would jewels or cash.

If you decide that you need the additional security of a password for this address, click Paper Wallet. A different address/key pair will appear. To create an encrypted wallet, select BIP38 Encrypt? and enter a passphrase. Tick the box Hide Art? and change to 1 the field Addresses to Generate and then click on Generate. A new wallet will be generated where the private key (WIF) is encrypted using the password you specified, resulting in a BIP38 key. You now need both this BIP38 key and the password to control funds on the address, so be sure to click Print and store both safely. If you are unsure about how to use BIP38 encryption, it is highly recommended to test the workflow with a low amount of Terracoin before storing significant funds on an encrypted paper wallet. If you forget the password or lose the encrypted key, you will permanently lose access to your funds.

A Terracoin WIF address can be easily identified because it always begins with "1". A BIP38 format encrypted key can be identified because it always begins with "6P". See here to learn more about BIP38.

Paper Encryption.png

Encrypted paper wallet generated using Terracoin Paper Wallet Generator

Sending to a paper wallet and viewing the balance

You can send Terracoin to a paper wallet address in the same way as to any other Terracoin address. See the documentation for your wallet if you do not know how to do this. For this example, 0.05 Terracoin (minus transaction fee) has been sent to the paper wallet address. Anyone with knowledge of the public address is able to see the balance of the wallet using a block explorer, but only someone with knowledge of the private key can access the funds. You can make as many deposits and send as many coins to the same address as you’d like. Just make sure you test your wallet with small amounts first to learn how it works.

Paper Insight.png

Viewing the balance of the paper wallet using the Terracoin block explorer at insight.terracoin.io.

Withdrawing funds from the paper wallet

In order to access the funds stored on the paper wallet address, you will need the following:

The public address The private key in WIF If you encrypted the wallet, you will additionally need the following to convert the BIP38 key into the WIF key:

The encrypted private key in BIP38 format The passphrase you used to encrypt the key Optional: Decrypt BIP38 key to WIF If you encrypted your paper wallet, you will first need to decrypt the BIP38 key. You can skip this step if your private key was not encrypted.

Go to the Wallet Details tab, enter the encrypted key in the Enter Private Key field and click View Details. You will be asked to Enter BIP38 Passphrase in the field. Enter the passphrase and click Decrypt BIP38. A range of information derived from the key will appear, the information required to access the funds on the public address appears under Private Key WIF. Copy the Private Key WIF and use it in the next step.

Paper WIF.png

Terracoin Paper Wallet Generator displaying information derived from an encrypted private key

Importing the private key to your live wallet

When you are ready to spend the balance on the paper wallet, you will need to import the private key used to control the address printed on the wallet into another Terracoin wallet that is connected to the internet. We will use the Terracoin Core Wallet in this example. Open Terracoin Core Wallet, click Setting and Unlock Wallet. Enter your wallet passphrase. Then click Tools and select Debug Console. The console appears. Enter the following command:

importprivkey <your private key in WIF>

This process requires rescanning the entire downloaded blockchain for transactions involving this address, and will therefore take some time. Be patient. Once the process is complete, any transactions involving the imported address will appear in your list of transactions. If you use Coin Control, you can also enable or disable the address for spending there.

Paper wallet address successfully imported into Terracoin Core Wallet from WIF private key

Since the paper wallet public address still holds the funds, it can also be imported again into a second wallet if it is not destroyed. It is recommended to transfer the balance from the paper wallet to an internal wallet address or another address where you have exclusive control over the private key. This will prevent a third party from obtaining unauthorised access to the same address from the paper wallet before you do. You can then spend your balance as usual.

Once the paper wallet is empty and you are sure it will not be receiving any further deposits, you can destroy the paper.