Bitcoin and Altcoin Hardware wallets

Are you tired of losing your Bitcoins on hacked exchanges? Are your Bitcoins stolen because you are trash at cyber security? Don’t you have the patience to install Bitcoin Core Wallet on your PC? Are you one of those pieces of shit that uses not enough fee and starts to complain that your transaction didn’t confirm yet? Are you ready to finally play with the big boys?

Then fear not ! Bitcoin Hardware Wallets are something for you.

First lets look at what a Bitcoin wallet actually is. A Bitcoin wallet is an application that serves for you to have control over your coins, keys, addresses and be able to create & sign transactions.

Private and Public keys

A wallet contains a collection of key pairs (public key & private key). Private key is usually picked by using a good pseudo random number generator. From the private key, we use elliptic curve multiplication to generate a public key. From the public key, a one-way cryptographic hash function is used to generate an address.

A Bitcoin wallet can be copied. Whoever makes a copy of the wallet can spend the funds. An attacker could steal a Bitcoin wallet by making a copy of your wallet. Anyone with the private keys is able to spend the funds.

HD wallets

You may have heard about it or know what it is. HD wallet stands for (No not High Definition wallet) Hierarchical Deterministic wallets defined by BIP-32/BIP-44). BIP stands for Bitcoin Improvement Protocol.

The best practice is to generate a new key for every transaction you make. This is because of privacy reasons. Someone shouldn’t be able to know how much bitcoin you own. It it also to protect the person who sent you a transaction. Don’t worry, your wallet does this for you by combining funds from different keys.

But what happens normally without HD wallets is, you make a private key with every transaction and it’s required to backup your key every single time!

What HD wallets allow to do is to take any private key and create a child private key out of it. Any child private key can also be used as a parent private key. So to simply explain it, you can create child keys but also grand child keys etc.

The benefit of this is that you create a Hierarchical structure. If you for example run a company, you can create a child private key for your employees who can create a public key to receive transactions. But you have control over all their private keys.

Creation of a deterministic wallet.

priv = mpk + H(pw|n)
B = priv * A mod P
= mpk * A + H(pw|n) * A mod P
= Bmpk + H(pw|n) * A mod p
where mpk is the master private key and Bmpk is the master public key. Private Key priv is composed from mpk and H(pw|n)

HD wallets can be represented by a 111 character Base58 encoded string that starts with xprv for private and xpub for public.

Type-2 hierarchical deterministic wallet: a tree of keys generated from a single seed

BIP-39

HD wallets are more useful if they are combined by creating seeds of sequence of English words that are easy to remember, import and export between wallets. English words are easier to remember and write down then raw binary or hexidecimal representation of a wallet seed. Mnemonic also defined by BIP-39 which is used by most wallets by bitcoin and other altcoin wallets. It can be used to import and export seeds to backup and recover your wallet.

"entropy": "80808080808080808080808080808080",
"mnemonic": "letter advice cage absurd amount doctor acoustic avoid letter advice cage above",
"passphrase": "TREZOR",
"seed": "d71de856f81a8acc65e6fc851a38d4d7ec216fd0796d0a6827a3ad6ed5511a30fa280f12eb2e47ed2ac03b5c462a0358d18d69fe4f985ec81778c1b370b652a8",
"bip32_xprv":"xprv9s21ZrQH143K2shfP28KM3nr5Ap1SXjz8gc2rAqqMEynmjt6o1qboCDpxckqXavCwdnYds6yBHZGKHv7ef2eTXy461PXUjBFQg6PrwY4Gzq"

Hardware wallets

A Hardware wallet is a USB device with usually 2 buttons. It stores the keys & signs transactions. The private keys never leave the device so they won’t be stolen/copied by malware. A hardware wallet communicates with a wallet on the computer or a web wallet running in a browser. Transactions are send from the client computer to the hardware wallet through a USB connection. A user can sign/confirm or cancel a transaction by using the buttons on the hardware wallet. Hardware wallets often use a PIN chosen by the user or a password to confirm transactions. You also don’t have to download the entire blockchain.

Private keys are stored in a protected area of micro controller. It’s immune to malware that tries to copy/steal your wallet.

Trezor

Is a secure bitcoin storage & transaction singing tool. The private keys are generated by the device. It uses a HD wallet structure which means it can hold unlimited numbers of keys. A recovery key is generated by the device. Trezor uses a way of PIN preventing key-loggers from recording it even if the computer is infected/compromised.

Ledger Nano

Ledger protects your data within a smartcard. Its micro-processor certified against many types of attacks which are both digital and physical. Ledger uses Google Chrome (also Chromium for the edge lords) to provide a great and easy user experience.

https://chrome.google.com/webstore/detail/ledger-wallet-bitcoin/kkdpmhnladdopljabkgpacgpliggeeaf

The Ledger Nano S has a built-in 4-digit and 8 digit PIN security lock, built-in onboarding seed generation and recovery, BIP39 seed (12/18/24 words), easy backup & restore.

Also support for GPG, SSH and FIDO U2F. It is also very small and easy to take with you.

Fast Transactions

I personally own the Ledger Nano S. I can send transactions very fast if I use enough fees. Now I don’t have to calculate it myself, my Ledger does it for me.

There will always be people who think they can get a way with a cheap solution. So lets load the list.

USB alternative

Some ‘skilled’ users will store their private keys on their USB flash drive. When you make a transaction, you attach your USB flash drive to your computer and use your Bitcoin Core wallet or other wallet to read your key.

If your computer is already compromised you may as well accept your fate because it’s now accessible to an attacker.

Same story for the paper wallets !

“Encrypted” wallet

You can use the strongest password in the world but if your computer is already comprised an attack can use a key-logger to record your key strokes.

But I use a Yubikey, it’s what the pro’s use !

The Yubikey helps you but when signing a transaction, it doesn’t protect you from signing a different transaction you planned to do.

Web Wallet/Exchange

If your computer is hacked you better start to accept your fate. Webwallets and exchanges do get hacked and coins are often stolen. The company or exchange goes bankrupt (like Mtgox). Webwallet owner or exchange owner can run away with your coins (mintpal for example).

Fool proof?

No a hardware wallet is not fool proof but I have some advice for you. When you setup your hardware wallets, you need to store your Mnemonic at a very safe place. Please think about the worse possible situations that can happen with it. But don’t save your Mnemonic on online ! Never. If you save it on your google drive & your google drive account gets hacked, your coins will be stolen.

Altcoins

Ledger Nano supports different Altcoins.

Dogecoin, Rock (aka Litecoin), Zcash, Ethereum, Dash and Stratis.

Traders

A lot of traders like to keep their coins at an exchange so they can access their coins really quickly if bitcoin crashes or they want to buy altcoins but don’t like waiting because they fear of missing out.

There are also traders who rather lend their coins out to an exchange for a small return. With offcourse the chance of an exchange getting hacked and them losing all their coins.

Your Bitcoins should be stored safely. Be paranoid, you may miss a trade but atleast you won’t get screwed over when an exchange gets hacked. It’s better to be paranoid instead of ignorant. If you are a big trader you should store your Bitcoins on a hardware wallet & a little bit on an exchange for you to buy your altcoins.

And Hey who cares if other traders laugh at you if you missed out 1 trade because of a hardware wallet. One day their exchange gets hacked and they lose all their coins but you are safe & survived the long haul.

If they told you that you are not a “real” trader because of storing your coins save you can message them back when their exchange gets hacked and tell them They are shit. It’s the perfect opportunity to show them you have to the bigger dick.

Order

It is important to order at the official website. Never accept a hardware wallet from someone else even if they give it for free. Custom malicious firmware could be flashed on the device.

Ledger Nano S: https://www.ledgerwallet.com/r/6c8c

(I own a Ledger Nano S myself.)

Trezor: https://trezor.io/?a=46kzxizi7sv2.

Tip

Buy 2 Ledger Nano S wallets for example. Configure them both with the same word list so you have a backup wallet. 1 for your regular use and 1 to put in a locker. Just in case your house burns down or you lose your first wallet and have no time to order another one.

Also very convenient when having to update the firmware of your hardware wallet. Since it will reset the device, so even if you did wrote the wrong word list on paper, you still have access to your other hardware wallet and move your funds.

My Twitter: https://twitter.com/RNR_0

Sources:

Mastering Bitcoin by Andreas M. Antonopoulos

https://github.com/bitcoin/bips

Futures trading