Course Description
Bitcoin and other cryptographic currencies have gained attention over the years as the systems continue to evolve. This course looks at the design of Bitcoin and other cryptocurrencies and how they function in practice, focusing on cryptography, game theory, and network architecture.
LECTURE NOTES
Lecture 1: Signatures, Hashing, Hash Chains, e-cash, and Motivation (PDF)
Lecture 2: Proof of Work (PoW) and Mining (PDF) (Nakamoto, Satoshi. “Bitcoin: A Peer-to-Peer Electronic Cash System.”)
Lecture 3: Signatures (PDF) (Maxwell, Gregory, Andrew Poelstra, Yannick Seurin and Pieter Wuille. “Simple Schnorr Multi-Signatures with Applications to Bitcoin.”)
Lecture 4: Transactions and the UTXO Model (PDF) (Bitcoin Transactions)
Lecture 5: Synchronization Process, Pruning (PDF)
Lecture 6: Simplified Payment Verification and Wallet Types (PDF)
Lecture 7: OP_RETURN and Catena (PDF)
Guest Lecturer: Alin Tomescu
Tomescu, Alin, and Srini Devadas. “Catena: Efficient Non-equivocation via Bitcoin.” MIT CSAIL.
Lecture 9: Peer-to-peer Networks
Guest Lecturer: Sharon Goldberg
Lecture not available
Lecture 10: PoW Recap, Other Fork Types (PDF)
Lecture 12: Transaction Malleability and Segregated Witness (PDF)
Lecture 13: Payment Channels and Lightning Network (PDF)
Lecture 14: Lightning Network and Cross-chain Swaps (PDF)
Lecture 15: Discreet Log Contracts (PDF)
Lecture 16: MAST, Taproot, Graftroot (PDF)
Lecture 17: Anonymity, Coinjoin and Signature Aggregation (PDF)
Lecture 18: Confidential Transactions (PDF)
Lecture 19: Ethereum and Smart Contracts
Guest Lecturer: Joseph Bonneau
Lecture not available
Lecture 20: More about Ethereum
Lecture not available
Lecture 21: Proof of Work at Industrial Scales
Guest Lecturer: David Vorick
Lecture not available
Lecture 22: Alternative Consensus Mechanisms (PDF)