Pragmatic Application
Before jumping into the theory I like to understand it practically in the real world. The best tool for this is setting up (and printing) a paper wallet.
Do not send bitcoin to the paper wallet yet, we are only trying to grasp the wallet idea
Go to either of:
You will need to move your mouse around to add randomness (entropy) to ensure the private-public key pair generated is random enough.
Print out the wallet.
Read the instructions.
Look at the key contents of it:
- Private key
- Public key
Your public key, is something that can be shared and given to anyone. It is public information. If you want to receive sats (portions of bitcoin) then this key is what you will give someone. It is your bitcoin address.
The private key, is something that should be kept private. Only you should know your private key (or have access to it). Your private key is what is used to sign transactions – movement from your address to somewhere else – to spend your bitcoin.
If you control the keys, you control the sats.
The reason paper wallets are not recommended anymore is because they encourage address reuse.
Paper wallets should not be seed backups. Paper wallets store one public-private key pair, whereas seeds can be used for re-generating multiple keys and addresses. This is called a HD – hierachical deterministic wallet. A single seed in a HD wallet can be used to dervice millions of addresses. The seed is what should be backed up.
If a hardware wallet malfunctions, is stolen, or destroyed, the private keys can be restored to a new wallet using the seed backup.
Take note that I do not say mnemonic seed – as bitcoin core (the reference implementation) has not adopted mnemonic seeds BIP 39
Can a duplicate of the wallet you just viewed or printed exist? Can the next person generating a wallet randomly get the exact same wallet at you?
Yes. But the chances of this are so astronomically low that it is as good as 0% chance.
A Word on Researching Bitcoin
An important tip is that you should beware of researching content that mentions cryptocurrencies and not just bitcoin. People who do no understand the superiority of bitcoin over the shitcoins have usually not done enough research.
Websites:
- https://learnmeabitcoin.com/
- https://en.bitcoin.it/wiki/Links_to_Storage_Methods
- Mastering Bitcoin Book
- 21 Lessons
Which Wallet should I use to get my satoshis off the Exchange and in to my possession?
A third party you trust is holding the private keys to your bitcoin. It is important that you and only you hold the private keys to your possession – sats.
There are many options shown below, however none have as many eyes on them as the original bitcoin reference implementation by Satoshi Nakamoto. It is the most widely used as a node, wallet and miner.
After trying many options – the one that really stuck with me – after learning the fundamentals was bitcoin-core
with binaries available at bitcoin.org/bin.
So I would always recommend using Bitcoin core and using the testnet
thoroughly before even thinking of using mainnet
.
Other options:
- glacier
- Smart Custody
- yeticold
- Casa
- Electrum’s cold walelt
- Rusty Russell’s "Remarkably Unreliable Guide To Bitcoin Storage"
- Alexandr Nellson’s Scheme
- Wasabi Cold
- Bitgoldwallet’s Storage Methods
Avoid small time guides and tutorials – like Yeticold by JW Weatherman. He is incompetent and the application is dangerous – you will lose bitcoin! Best to understand the fundamentals thoroughly and bitcoin core.
What Wallet should I use and how should I get my bitcoin off the exchange?
My method
- You should use a dedicated device – a device that will only be used for bitcoin.
- The device should never connect to a network.
- Use bitcoin-core for your wallet.
- Encrypt the wallet – with a password you are gauranteed to remember – write it down.
- Backup the seed on physical.
- Use the
testnet
to do all the above and transfer your testnet utxo to your wallet – practice sending and receiving. - When you are confident use
mainnet
.
To achieve the above a good repo to use is Learning Bitcoin from the Command Line
Another good resource I found is Arman the parman – Get better at Bitcoin Storage. A lot of the examples use the mainnet
but I suggest using the testnet
first.
Sources
Articles:
- https://bitcoin.stackexchange.com/questions/89439/how-to-get-bitcoin-off-an-exchange
- https://blakecc.medium.com/easy-guide-move-your-bitcoin-off-an-exchange-and-into-your-brain-wallet-1741418f97ff
- https://www.ministryofnodes.com.au/2020/04/16/get-your-bitcoin-off-the-exchange/
- https://decrypt.co/4249/withdraw-bitcoin-coinbase-exchanges-safety-security
- https://bitcoinbriefly.com/ultimate-guide-to-bitcoin-wallets-seeds-private-keys-public-keys-and-addresses/
- Learn Bitcoin from Command Line
Books:
- Certified Bitcoin Professional Exam Prep by C4
- Hands-On Bitcoin Programming with Python by Harish
- Grokking Bitcoin by Kalle Rosenbaum
- Programming bitcoin learn how to program bitcoin from scratch by Song, Jimmy
- Bіtсоіn Standard Beginners Guide. 2021 Beginners Guide. Everything You Need to Know About Bitcoin (Miner, Wallet, Standard, Mining Hardware etc.) by Bitensbury, Andrew [Bitensbury, Andrew]
- The Blockchain and Bitcoin Fundamental Understand the Basic Principles of Blockchain and Bitcoin in This Master Course by Fredrick Martins [Martins, Fredrick]
- Mastering Bitcoin by Andreas M. Antonopoulos