Photo by Hugues de BUYER-MIMEURE on Unsplash
Open source Internet-connected Bitcoin wallets could be rock-solid software in many cases, but a system-level attack threatens to make their application-level precautions irrelevant. The recent Meltdown/Spectre hack targeted the chips inside PCs, highlighting the dangers that anyone using a computer connected to a network can suddenly become vulnerable to. Security of cryptographic assets is of extreme importance; thus having ways of securely archiving wallet data offline is a desirable option.
One way is a traditional paper wallet which at its simplest is a printout of the keys associated with a Bitcoin address. Of course, anyone with physical access to that printout can compromise the account.
I have developed an experimental tool, built with React and server-side-rendered with NextJS, for saving the backup data from online Bitcoin wallets such as Electrum.
Paper Umbrella is a browser-based “paper wallet” that does not need a network connection to save user data locally and can be run in an “air-gapped” context. It allows the saving of an arbitrary number of accounts, with each entry containing fields for the wallet’s name, seed data, public keys and private keys. This data is encrypted using the password provided by the user and then saved in a JSON file. When the user later selects that wallet to view it, they must enter the same password in order to get back the private keys and seed data.
The code for Paper Umbrella has been released under the free and open source ISC License and can be checked out from a GitHub repo. It is currently in pre-release and is not yet recommended for use with production cryptocurrency data.
Paper Umbrella's main component is called Tracker. It contains all the core front-end functionality that, when paired with the NodeJS server for persisting data, makes the app work. Also included is Fowlfive, a component that looks up the prices of five major cryptos and then calculates and displays the Fowl Five market aggregate index which is also featured here on the Block Fowl blog. In addition a few components sit at the bottom and provide disclaimers and links.
The readme for Paper Umbrella includes simple instructions for getting the app started using your Mac, Windows or Linux computer's command line terminal.