I came across Bitcoin about 6 months ago, thanks to a friend who started her own company that uses blockchain technology. I’d heard of Bitcoin before- my general idea was “Bitcoin is a virtual currency that my brother used to mine when I was in high school.” I didn’t know much other than that, like most people.

What really sparked my interest was my realization that Bitcoin and other digital currencies are a great application of cryptography (hence the name “cryptocurrency”), a field that I’ve always been very fascinated by. Cryptography, to me, is a perfect way to use math in the real world. Once this realization hit, I decided to actually look into the math behind bitcoin.

Although I read countless articles, including the original Nakamoto whitepaper, I still struggled to find a resource that would answer the fundamental question: What’s the math? The best I could find was articles that would discuss elliptic curve cryptography, and the particular parameters used for Bitcoin. This didn’t satisfy me.

As per the suggestion of my friend, I got a copy of Andreas Antonopolous’ *Mastering Bitcoin: Programming the Open Blockchain*. This book really brought everything together for me. I highly recommend it!

I hope this blog post can help you understand the Bitcoin protocol and the Bitcoin blockchain, from a mathematical perspective. I’ll assume first that you’re familiar with Bitcoin, and second that you have a knowledge of the math. I’ll leave links to explanations of the math topics below, for those who are not so familiar.