For the past day or so I have been trying to get my head around Bitcoins; where they come from and how they are managed. This is my understanding so far. Please could somebody tell me if I understand correctly? The info returned from google is a bit of a minefield and I don't really know what to take on board or ignore. I'm even having trouble working out what type of wallet some providers offer! A lot of websites just churn out sales patter about how secure and safe everything is... blah blah blah, but with minimal info about how they look after your keys.
My understanding so far,
Private/public keys
All Bitcoins are essentially held within the blockchain. The Bitcoins you own are protected by your private key. You need to know the private key to send/exchange Bitcoins.
This key is obviously something you don't want the world to know so a public key is derived from the private key. The private key cannot be found using the public key. Bitcoins cannot be sent using the public key but it can be made public so that you can receive Bitcoins.
When a Bitcoin is sent to your public key the message is sent encrypted. Your private key is able to decrypt this info so that the transaction completes. In the unlikely event that somebody is able to create your public key from thier private key, your private key adds a signature to the public key to verify it was derived from your private key. This ensures that the private key that made the public key is the only key that can decrypt messages sent to the public key. This signature check is only made when the received Bitcoins are attempted to be spent/exchanged. It is only at this point it will be known if a 'hacker' private key received the transaction.
Wallet, spends/exchanges
A wallet is a collection of keys (private, public, wallet address) used to access/view relevant parts of the blockchain (the information, not the actual data). This is almost always some software to put these keys to use. Using your private key you can view the amount of Bitcoins you own, send payments and make a public key so that you can receive payments. The wallet is given an address that is a hash derived from the public key. Payments can be made to this wallet address. All I know is that the wallet address is used as an extra level of protection from private keys being reverse engineered from a public key. This is because the signiture check is only made when the received funds are attempted to be used. The wallet address hash adds protection through extra security and discouragement associated to the time element.
Types of wallet
Online
The provider downloads the bloackchain for you, keeps hold of your private key (and associated public and wallet address) and you access it all using a username and password.
Desktop
You download the blockchain and have a copy of the keys and wallet address. These keys are stored in wallet.dat (or similar). You absolutely must make backups of this file.
Hardware
The keys are stored on a hardware device.
Paper
The keys are printed onto paper.
Hot store are keys that are produced/stored on a computer connected to the internet.
Cold store are keys produced/stored on a computer not connected to the internet.
I much prefer the idea of having a program (wallet) installed on my computer that gives me a file that is my private key so I can keep this key on a SD card (or three). I do this with pretty well everything... an sd card to decrypt my boot drive, an sd card with my password manager file (and another for the key to open the file) etc etc. I keep anything that can give access to something on its own sd card, along with a backup card.
If you take the desktop wallet route, do you need to download the blockchain for all the currencies you use? I ask because at first I wanted to mine Ethereum. It took 10hrs to download the blockchain and takes up 20gb of my 128gb bootdrive. Space is one thing but the time it all takes is something akin to late 90's downloading. I should have done more reading because the dag is bigger than my vram. So I tried Monero. This didn't download any blockchain and just works by typing in a single line command into the miner and its off. Can desktop wallets work without downloading the blockchain?
My next task is to decide on a wallet... I thought about using the official desktop wallet for each currency I use but the blockchain download is putting me off. Any suggestions?
If you're reading this you got to the end of my looong message!
Thank you for reading and any help