How can you trust complete strangers on the internet? How can your computer know that some other computer really is who it says it is? How the heck does Bitcoin actually work? The answer is public-key cryptography, which only works if certain mathematical problems are objectively hard to solve. Alex will explain how the graph of a simple equation like y^2 = x^3 + ax + b can be used to secure our money and our privacy - even when everyone knows exactly what the procedure is!



We'll work through chapter 2 of [Programming Bitcoin]. We'll start by briefly reviewing finite fields from chapter 1, which we covered last time.



All chapters are available in the [book's github repository], as ch02.asciidoc, etc. The book's exercises are all available as python notebooks, in directories code-ch02, etc.



[Programming Bitcoin] https://programmingbitcoin.com/



[book's github repository] https://github.com/jimmysong/programmingbitcoin



Bring your questions! Bring your laptop, too, so we can work through the exercises together.