Summary
A Ledger Nano S hardware wallet is a robust and convenient solution for offline Bitcoin storage.
I recommend the Ledger Nano as a hardware wallet for:
1) beginners (due to its guidance and simplicity)
2) busy professionals (due to its convenience and security)
Before using one, however, I recommend that you read the "Important points" section immediately below this summary. The rest of the article contains more technical details and opinions, which you can skip if you are not interested.
Important points
x) When you create a Bitcoin account on the device, you should always carefully select the "Legacy" Bitcoin address type (this is the best security available for long-term storage). You can see the Legacy option by clicking "Show all address types" when you create a new Bitcoin account in the Ledger Live application.
x) Be sure to confirm that the device you receive is genuine. Follow the steps shown in:
support.ledger.com/hc/en-us/articles/4404389367057-Is-my-Ledger-device-genuine-?support=true
x) Receiving payments: When you go through the "Receive" process in the Ledger Live application, it will prompt you to generate a new address every time, for each new payment. I prefer to store the first address in a text file and always receive payments at that address. [0] It's less anonymous but it makes bookkeeping easier. [1] I mention this simply to point out that you don't have to generate a new address for every payment.
x) Never share the 24 words of your recovery phrase with anyone else. Always store your recovery phrase in a secure, offline location.
Introduction
When you own bitcoin, what you really own is a private key that gives you access to your coins. You should be the only one in control of this key - and you need to keep it secure i.e. offline i.e. on a computer that is never connected to the internet.
The Ledger Nano S is a small computer that looks like a memory stick. It stores private keys for Bitcoin and for many other cryptocurrencies. The user primarily interacts with an application on an internet-connected computer or smartphone. This application will communicate with the Ledger Nano via a USB cable to ask it to generate addresses and sign transactions (you have to manually permit these operations by pressing buttons on the device). The private keys never leave the Ledger Nano.
Things I like:
- The intense focus on security
- The intense focus on simplicity [2]
- The concise guidance on their website.
- The anti-tampering system [3]
- The PIN entry protection. [4]
Things I don't like:
- The default address type is Native Segwit.
-- It is highly irresponsible to promote Segwit as a default storage method. The primary protection of your bitcoin is the transaction signature, and Segwit removes these from the transactions on the main blockchain and puts them in a separate communication channel between Bitcoin nodes. Hence "Segregated" (removed) and "Witness" (signature) -> "Segwit". Miners promise to honor this side channel, but may not always do so. If enough miners change their minds in future, any bitcoin stored in Segwit addresses will be at risk of seizure.
-- The primary argument made in favour of Segwit is "lower fees" + "higher transaction volumes", because the transactions will be smaller, due to lack of signatures, which take space. [5] Given Ledger's technical competence, I am sure that this is the reason that they chose to make Segwit the default. They think that lower fees and higher blockchain throughput are the most important aspects of Bitcoin's future. I disagree. I think that "being a gold" i.e. a reliable store of value is the most important aspect of Bitcoin's future. Other coins / layers will tackle the problem of high transaction throughput, and will sacrifice some security guarantees in order to do so.
- The hiding of standard (secure!) Bitcoin addresses under the "Legacy address" label. You can only see this option by clicking "Show all address types" when you create a new Bitcoin account in the Ledger Live application.
-- Standard addresses are one of the linchpins of the whole system. (A future Bitcoin in which standard addresses are not available, where you can only use the new types of addresses, is ... a much less attractive / interesting investment.) Ledger should have set standard addresses as the default, and called them "standard" rather than "legacy". I guess I should be grateful that they included them at all. If Ledger only supported Segwit addresses, I would have strongly recommended against using the Ledger Nano hardware wallet.
[start of notes]
To use the Ledger Nano S with a smartphone, you will need to additionally buy the OTG Kit (OTG = "On The Go"), which contains 3 cables for connecting the smartphone to the Ledger Nano. Note: Only Android 8+ smartphones are currently supported.
The following two sentences were copied from:
www.ledger.com/academy/hardwarewallet/why-you-should-choose-ledger-hardware-wallets
When you own bitcoin, what you really own is a private key that gives you access to your coins. You should be the only one in control of this key - and you need to keep it secure.
[end of notes]
[start of footnotes]
[0]
Example of storing an address in a text file:
Copying the address three times avoids any worry about possible typos. If I need to send an address to someone else, I usually send them the block of three lines, for the same reason.
It's also important to label addresses clearly and usefully. If you have multiple addresses, it can become quite difficult to remember which are which.
Ledger Nano S: Personal Bitcoin account 1: Address 1
14gLgyVBiK7i7gtPLLYcVCAKfBuj1rL9JT
14gLgyVBiK7i7gtPLLYcVCAKfBuj1rL9JT
14gLgyVBiK7i7gtPLLYcVCAKfBuj1rL9JT
14gLgyVBiK7i7gtPLLYcVCAKfBuj1rL9JT
14gLgyVBiK7i7gtPLLYcVCAKfBuj1rL9JT
14gLgyVBiK7i7gtPLLYcVCAKfBuj1rL9JT
Copying the address three times avoids any worry about possible typos. If I need to send an address to someone else, I usually send them the block of three lines, for the same reason.
It's also important to label addresses clearly and usefully. If you have multiple addresses, it can become quite difficult to remember which are which.
[return to main text]
[1]
You can search for the address on a block explorer in order to look up all the payments and the final balance.
[return to main text]
[2]
I haven't been able to think of any way to make the user journey simpler (without compromising robustness).
[return to main text]
[3]
Each device has an embedded keypair.
It uses the private key to respond to an identity challenge made by the online application.
It carries a certificate, signed by Ledger's Issuer Key, that attests that its public key is Ledger-generated.
This approach means if an attacker replaces the device in transit with a malicious device, the Ledger application will detect the substitution and inform the user.
Source:
developers.ledger.com/docs/nano-app/bolos-features
It uses the private key to respond to an identity challenge made by the online application.
It carries a certificate, signed by Ledger's Issuer Key, that attests that its public key is Ledger-generated.
This approach means if an attacker replaces the device in transit with a malicious device, the Ledger application will detect the substitution and inform the user.
Source:
developers.ledger.com/docs/nano-app/bolos-features
[return to main text]
[4]
3 unsuccessful PIN entries in a row will reset the device.
You must then:
- Select a new PIN (which can be the same as the old one).
- Enter the recovery phrase. This is time-consuming, but the word entry process is quite clever - letter choices are narrowed down based on the previous letters, and after entering 3 letters, you can then select the specific word from a list.
- Re-install the Bitcoin app, using the Ledger Live application on the online computer.
I've tested this myself by entering the PIN incorrectly 3 times.
I've also tested that the device will remember that an incorrect PIN was entered even if you unplug it afterwards.
You must then:
- Select a new PIN (which can be the same as the old one).
- Enter the recovery phrase. This is time-consuming, but the word entry process is quite clever - letter choices are narrowed down based on the previous letters, and after entering 3 letters, you can then select the specific word from a list.
- Re-install the Bitcoin app, using the Ledger Live application on the online computer.
I've tested this myself by entering the PIN incorrectly 3 times.
I've also tested that the device will remember that an incorrect PIN was entered even if you unplug it afterwards.
[return to main text]
[5]
But: At 100% Segwit adoption, you'd get at most a 4x increase in block size, so then fees would be 25% of the current fee level.
You'd lose the best financial security known to man though, and this security loss is never mentioned by the advocates of Segwit. No one sane makes this engineering trade-off.
A reasonable thing to do might be to say something like: "In this small corner of the blockchain e.g. 0.1% of all transactions, we'll sacrifice the security in order to permit a Layer 2 with 10 000% more capacity.".
But no, instead, it's always "give up the security in exchange for a relatively small savings in fees and lots and lots of complicated engineering work".
You'd lose the best financial security known to man though, and this security loss is never mentioned by the advocates of Segwit. No one sane makes this engineering trade-off.
A reasonable thing to do might be to say something like: "In this small corner of the blockchain e.g. 0.1% of all transactions, we'll sacrifice the security in order to permit a Layer 2 with 10 000% more capacity.".
But no, instead, it's always "give up the security in exchange for a relatively small savings in fees and lots and lots of complicated engineering work".
[return to main text]
[end of footnotes]