I've been reading about how BitCoin works for a few weeks now - and I'm trying to understand under-the-hood how the cryptography works.
So i'll explain what I know at the moment - and if someone could clear it up for me? Or provide links to papers that may explain it a bit better (I've read the original bitcoin.pdf, but it is a bit vague)
I have an address (pk, sk).
I have a previous transaction tx that contains 1 bitcoin.
I create a new address (pk', sk') that I want to send the bitcoin too.
I hash the new public key pk' with the previous transaction tx such that hash(pk', tx) = h1.
I sign the hashed transaction h1 using my secret key and some 'randomness' r. Sign"sk"(h1, r)
Then - this gets broadcasted and gets put inside a block by a Bitcoin miner?
Also, if I was to send two 0.5 bitcoins to pk' I would do the following...
tx1 and tx2 are associated with 0.5 bitcoins.
I then hash tx1 and tx2 with the new public key pk' such that hash(tx1, pk') = h1 and hash(tx2, pk') = h2.
I then sign both of these hashes using the following function... Sign"sk"(h1, h2, r) or would it be Sign"sk"(h1,r), Sign"sk"(h2,r'). (different randomness for each signature)
This may be a silly question.. but I have been finding it difficult to get some clarity on how it works. I also understand that some characters (such as i and 0) are not included in the hash - does this refer to base 58 ?