After researching wallets, I think I like to stick with Bitcoin Core, because it seems the least risky. It seems the least risky because I'm guessing that its source code is reviewed by the most people. With some wallets, I don't think many people review the source code. I don't see how anyone can review the source code in a hardware wallet's firmware.
It seems that a very secure method is the following:
https://en.bitcoin.it/wiki/How_to_set_up_a_secure_offline_savings_wallet"Setting up an offline wallet from scratch"
Under "How to Deposit Funds", step 7 states:
Shut down your computer, and boot Ubuntu (or Linux distribution of you choice) from a liveCD. This will not affect your current operating system.
According to the link for liveCD (
https://www.ubuntu.com/download/desktop), I can create a bootable Ubuntu USB stick from my Mac, which is what I'll do. When I do this, can malware get into my USB stick or into Ubuntu?
Step 11 states:
Shut down system and turn off computer. Before switching your computer on again, remove all power sources for about 1 minute. Physically remove battery from laptop.
I have a Mac and cannot take out the battery. How important is this step?
Step 14 states:
Backup encrypted wallet.dat file in several places:
- Send it to your 5 best friends by email attachment and ask them to save it for you.
- Save it on your cloud drive accounts created in step 1.
Am I correct to assume that if the wallet.dat file is encrypted with a strong passphrase, then it should be safe and secure to allow anyone, even hackers, to take a copy of wallet.dat, because they won't be able to decrypt it?
Under "How to Retrieve Funds", it has these steps:
- Boot from Ubuntu liveCD, as in step 5 above.
- Insert USB drive.
- Run bitcoin client and close it again.
- Replace wallet.dat in ~/.bitcoin directory with wallet.dat from USB drive.
- Connect to the internet.
- Restart bitcoin client.
- Wait for blocks to download (optional).
- Send bitcoins.
Step 4 states:
Replace wallet.dat in ~/.bitcoin directory with wallet.dat from USB drive.
Where will this ~/.bitcoin directory be? Will it be on my Mac's hard drive or on the USB drive? (If Bitcoin Core (running under Ubuntu) creates this directory onto my Mac's hard drive, then this means I'll have 2 bitcoin directories on my Mac: one for Bitcoin Core that has already run under my Mac and another for Bitcoin Core running under Ubuntu.)
Step 5 states:
Connect to the internet.
Why bother booting from Ubuntu (especially running it online) if the wallet.dat is already e-mailed to other people and sitting in the cloud (after doing step 14 above)? Is this because Ubuntu (booted from a CD) will prevent malware or key-loggers from getting my passphrase? Is it not possible that some malware or key-logger can still work on my computer through the internet?
Step 7 states:
Wait for blocks to download (optional).
I already have the blockchain downloaded and synced on my Mac with Bitcoin Core v0.14.1, pruned to 2GB. Will Bitcoin Core, running under Ubuntu on my Mac, be able to access this same folder? (If so, then downloading the blocks and synchronizing will take far less time.)
Can I indeed send out bitcoins if the Bitcoin Core has not synchronized the blockchain?
Am I correct to assume that after I've sent out bitcoins, I should "backup the wallet.dat file in several places" again?