Dave's *very* high-level talking points for the lecture on Blockchains and CryptoCurrencies. Note: As mentiioned in class, and announced on Piazza, this was a special lecture and Dave used the blackboard a lot. ======================================================================= Further Reading (if interested): (1) A good general background (online) book with lecture videos . (2) Core: Satoshi's whitepaper ======================================================================= Dave Andersen: I'm going to focus on the core of nakamoto consensus as a solution to the large-participant BFT problem (with a handwavy sketch of why it converges to consensus but nothing formal), along with a bit of description of its use in cryptocurrencies and a brief example of the mining process / the ecosystem. Background: Bit about public key crypto primitives and hash functions. Short, with a forward pointer to Lecture 23 (11/27). Core problem: Can you send digital money to someone? Sure. Imagine you have a dollar… Problem: Double-spending (how doo we know that if A sent the $1 to B, then A really can't send that $1 to C, etc). Need global consensus about whether a dollar has been spent. Under adversarial conditions (its money after all). Sounds like BFT, right? But what if we want decentralized, not just BFT? There’s a huge problem with sybil attacks. Want a majority? Pretend to be more nodes! How do you solve sybil attacks? Nakamoto consensus based upon proof of {X}, where {X} is something we hope is limiting in the attacker’s economic ability to do. Proof of work as example How does simple PoW work? What is “mining”? What’s the cryptocurrency ecosystem like? What can you do with blockchain? It’s basically a database Cautionary note: NIST diagram. If time, illustrate parallels to the P2P craze of the early 2000s and its lingering lessons (and abject failures). It often comes down to regulatory, which is … what it is.