Aside from learning about all of bitcoin just for fun (mathematician with spare time), I currently own some bitcoin IOU's via Robinhood, but I would like to actually own my bitcoin (my keys, my coins! As they say).
I have been investigating Coinbase and hardware wallets like Nano Ledger S.
My understanding is that Coinbase is an exchange or market place where BTC can be bought and sold, but also offers wallet services.
My understanding of a hardware wallet like Nano Ledger S is that it is a very secure hardware device (cold storage, meaning completely offline) that will store the public and private key to my BTC wallet - and the private key to my wallet is synonymous with the bitcoin I hold. It has a 20 word mnemonic so if I hypothetically lost the device, I could buy a new one and access my wallet using the 20 word mnemonic. (I would also like to understand how buying a new Nano Ledger S and entering my mnemonic allows it to essentially restore to my old wallet, it seems like this would require the information to be stored somewhere. But I'll save that for a different question later on)
If my understanding above is correct, I would like to now understand the way transactions take place between the two concepts listed above.
- I purchase X BTC on coinbase and it goes to my "hosted wallet" on Coinbase (X used as a variable representing the amount of BTC)
- I can send the X BTC I purchased to my hardware wallet by giving the public key to my hardware wallet and specifying perhaps .99X BTC go to that wallet and the remaining .01 BTC is left as the transaction fee.
- Coinbase broadcasts the transaction in the P2P network, sent around through full nodes in the network.
- When this transaction gets grouped into a block and is mined, my wallet now contains .99X BTC meaning my public key shows up somewhere on the blockchain ledger that I have .99X unspent BTC associated to my public key.
I can repeat this process as many times as I like, continuing to accumulate more BTC in exchange for USD via Coinbase.
- Eventually, maybe I want to liquidate some BTC in exchange for USD.
- I can do this by using Ledger Live as described on the ledger website here. Is this still "offline"? even when I "unlock and connect" my ledger device?
- I use ledger live to send BTC to my Coinbase "hosted wallet" public key. When the transaction is processed I can sell my BTC on Coinbase market at the market value.
Is my understanding correct? And if so, how is my private key being used when I send BTC using ledger live? I think it is used to "sign" the transaction? So in some way is my private key vulnerable to nano ledger programming or software when sending?
I understand this is very amateur material, I have tried hard to learn on my own without asking here, but the quality of answers on this site, so far, have proven better than anything I have found on my own.