Bitcoin Prep Work: Whitepaper

What I Read

I read the Bitcoin whitepaper. It has been a long time since I’ve read the Bitcoin whitepaper, and this time I actually understood it! I should have re-read it a while ago.

Notes

Definition of A Bitcoin

A bitcoin is defined as a chain of digital signatures. Specifically, you sign the previous hash and the public key of the next owner. When the next owner receives this coin, he can verify the signatures in order to know that the chain of ownership is valid.

Merkle Tree in Bitcoin

You can hash all the transactions, and come up with a root. This root is then used in the service string, which is used to generate the proof of work.

If we change any elements of the transactions, it will invalidate the root. This will further invalidate elements down the chain, specifically the previousBlockHash header that we generate for every block. So, you will have to recalculate the given block hash header, include it in the next block, and then recalculate the next header, since we use the previousBlockHash within every block.

You can see where this will be very time-consuming and not worthwhile to pursue, given the costs of proof of work.

Calculations

I didn’t understand the math behind the calculations, but I found this great article that broke down, in very simple terms, what this section meant.

Essentially, we are calculating the probability of an attacker to to alter the blockchain. The more hashpower he has, the easier it will be.

We can calculate, given an attacker chain and honest chain, how difficult it will be to overtake our chain. To quote the article,

“These numbers tell us the that the more CPU power an attacker has (q) the more confirmations we have to wait (5, 8, …) to know that the probability of the attacker catching up with the chain will be < 0.1%.”

Bitcoin white paper explained (PART 3/3)

This helped make it very clear to me what we were calculating in this section.

Conclusion

It was very beneficial to re-read the Bitcoin whitepaper. I felt like I learned a lot, and that I missed a lot by not reading it earlier.

I am a bit more technical now, so it definitely would have been more beneficial to tackle this sooner rather than later, but at any rate, I enjoyed how simple and straightforward this paper was.

Even the stuff I struggled with, I found simple explanations online about, that I could easily understand.

Leave a Reply