Jason C


Bitcoin

Using Offline Wallets

2017-09-30

Introduction

Offline wallets add a significant level of security. An offline wallet means a wallet which is used on a computer that is not connected to the internet. So even if you have a virus or malware, it would be very difficult for it to exfiltrate your data. There are many ways to do an offline wallet, this tutorial gives one example.

This tutorial uses multi-signature wallets and assumes you have read the Using Multisig Wallets tutorial. You could use a standard wallet, but multisig is significantly more secure.

Unlike the rest of the tutorials, this tutorial is specific to Windows. Apple does not make it easy to boot an OS other than theirs. That doesn't mean it's impossible though, you can google ways to do it.

Create Bootable Linux Install

Download the Ubuntu install CD image: http://cdimage.ubuntu.com/releases/14.04/release/ubuntu-14.04.5-server-amd64+mac.iso. Burn to a CD or create a bootable USB drive. Any CD burning software should be able to burn an ISO.

For creating a bootable USB drive, download Rufus: https://rufus.akeo.ie/downloads/rufus-2.16.exe. Note, this tutorial will require two USB drives (and a third later on, but can reuse the first one). The first USB drive will have the Linux install image. The second USB drive is where Linux will be installed to.

Run rufus-2.16.exe (md5sum 5f3e4577e995738469f0dfe539dee99f). Select the Device for the Linux installer.

Leave default settings for Partition scheme, File system, and Cluster size.

For Create a bootable disk using choose ISO image. Click the disk icon next to "ISO image" to choose the ubuntu-14.04.5-server-amd64+mac.iso image.

Once all options are set, click Start. Next choose Write in DD Image mode.

Install Linux to USB Drive

Boot from your USB drive and follow instructions to install Linux on the second USB drive.

See the Install Linux tutorial for more detailed instructions.

Setup Linux

Now that you have Linux installed on your second USB drive, reboot the computer. When you start your computer go to BIOS setup by hitting F2 or Delete. Choose to boot from the USB drive that has Linux installed on it.

Login using the username and password you used in the install.

Run sudo apt-get update.

Run sudo apt-get install xfce4 xfce4-terminal.

Run startxfce4.

Choose Use default config.

You now have a linux desktop. Go to Application Menu > Terminal Emulator.

Run sudo apt-get install python-qt4 python pip gedit.

Download Electron Cash: curl -O https://electroncash.org/downloads/2.9.4/win-linux/Electron-Cash-2.9.4.tar.gz.

Then run md5sum Electron-Cash-2.9.4.tar.gz and make sure it matches 15a5bc038db6420a86fee007d493fe1a.

Run sudo pip install Electron-Cash-2.9.4.tar.gz to install Electron Cash. Now everything should be installed.

Disconnect your computer from the internet. You should never have this USB drive loaded on your computer while it is connected to the internet again.

Now launch Electron Cash from Application Menu > Internet.

Insert USB storage device. In this example it is called STORAGE. It should be automatically detected and show up on the desktop. Double click it to mount.

Enter account password.

You should now be able to access your unsigned transaction. Load one of your standard wallets and sign the transaction using Electron Cash. Learn about signing transactions in the Using Multisig Wallets guide.

Once transaction is signed, save to USB drive.

Right click on USB drive on desktop and choose Eject.

Close Electron Cash. Open Terminal Emulator and remove Electron Cash wallet. Run cd ~/.electron-cash/wallets. Then run rm -f *.

Now insert the USB drive back into your online computer. Open the signed transaction in Electron Cash and Broadcast it.

Conclusion

Note that the same physical computer can be used for both the online and offline wallet. You have to create your transaction and save to USB drive first. Then turn your computer off, unplug the internet, plugin your Linux USB drive, and boot back up again. Once you have signed your transaction and saved it, shutdown, remove the Linux USB drive, plug the internet back in, and boot up again.

If you want to go an additional step of security, while your computer is shutdown you can unplug all peripherals. This includes anything else plugged in via USB, all internal hard drives, etc. Any of these could potentially be infected, though unlikely.

And that's the full cycle of using an offline wallet.

Return to top or back to Bitcoin.