1- addresses have public and private keys, they can be easily generated but doesn't seem like there is any reason you couldn't have duplicate addresses, other than highly improbable.
highly, Highly, HIGHLY improbable.
Ok, new data, will recalc everything:
- probability of getting struck by lightning in any given year: 1/280000.
- probability of taking a shit at any given point in time: 1/(60*24) = 1/1440 (assuming you take a crap every day and the actual process takes 1 minute)
- probability of getting struck by lightning while taking a crap in any given year: 1/(280000*1440) = 1/1.47E11 = 2.48E-9
- probability of taking a crap while being in a situation where being struck by lightning can actually occur = 1/1440 = 0.25 = 1.74E-4
- probability of finding a collision: 1E-65
- getting hit by lightning while taking a crap for how many years in a row is equally probable as finding a collision: log(1E-65) / log(1.74E-4) = 17.3
is my math roughly correct now?
If so, I can say: "Finding a collision is about as likely as being struck by lightning while taking a crap every year for 17 years in a row".
2- the nonce within a block. It seems like this has to be found like mining.
That's why they call it mining.
Do most miners mine for nonces?
All miners mine for nonces. That's why they call it mining.
Once someone discovers the nonce for the current block the block is finalized and search for a new nonce begins.
Correct.
3- bitcoins themselves. These seem to be some other key that miners search for and seems to be independent of the nonce.
Here you are mistaken. New bitcoins value is simply freely assigned to the address of the miner in a special transaction (called a "coinbase" transaction) in the block. This is the only transaction in the block that is allowed to exist without any inputs.
Once a coin is discovered (mined) it is put in a block so the miner has ownership, it is assigned to the miners address.
The miner builds the coinbase transaction before they start mining. The coinbase transaction is just another transaction in the block.
Does each new block contain one and only one new bitcoin along with a bunch of other transactions?
No. Each new block right now contains 25 new bitcoin (plus the transaction fees from the transactions in the block) in a single transaction, along with a bunch of other transactions.
Cryptographic entities I can think of at the moment:
- Private key (and it's ECDSA public key counterpart)
- SHA-256 hash of public key as a step towards generating public address
- RIPEMD-160 hash of public key as a step towards generating public address
- SHA-256 hash of transaction used as a transactionID
- SHA-256 hash of block used as proof-of-work
- Merkle-Root of chain of block transactions in the block header
- ECDSA signature of transaction proving ownership of inputs