CS 251: Bitcoin and Cryptocurrencies

Course syllabus and readings

Fall 2020

Every lecture is accompanied by readings that support and expand on what was covered in the lecture. In the listings below we use NBFMG to refer to the course textbook Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction.

 
Lecture 1:
Mon 9/14/20
(DB)
Intro to cryptography & cryptocurrencies   [pdfpptx]
References:
  • NBFMG Chapter 1

Bitcoin mechanics
 
Lecture 2:
Wed 9/16/20
(DB)
Bitcoin nuts and bolts   [pdfpptx]
References:
 
Lecture 3:
Mon 9/21/20
(DB)
Wallets: managing and protecting crypto assets   [pdfpptx]
References:

Consensus protocols
 
Lecture 4:
Wed 9/23/20
(BB)
Consensus: network models, corruption tolerance, sybil resistance   [pdfpptx]
References:
 
Lecture 5:
Mon 9/28/20
(BB)
Nakamoto Consensus: security, attacks and incentives   [pdfpptx]
References:
 
Lecture 6:
Wed 9/30/20
(BB)
Randomness beacons, VDFs, and applications to consensus   [pdfpptx]
References:

Ethereum and decentralized applications
 
Lecture 7:
Mon 10/ 5/20
(DB)
Ethereum: Decentralized Apps, EVM, and the Ethereum blockchain   [pdfpptx]
References:
 
Lecture 8:
Wed 10/ 7/20
(DB)
Programming in solidity   [pdfpptx]
References:

Decentralized finance and economics
 
Lecture 9:
Mon 10/12/20
(Guest)
Stablecoins and oracles (Dan Robinson, Georgios Konstantopoulos, Paradigm)   [pdf]
References:
 
Lecture 10:
Wed 10/14/20
(Guest)
Decentralized exchanges and lending (Ali Yahya, Eddy Lazzarin, a16z)   [pdf]
References:
 
Lecture 11:
Mon 10/19/20
(Guest)
Legal aspects and regulation (Marvin Ammori, Protocol Labs)   [pdf]
References:

Scaling the blockchain
 
Lecture 12:
Wed 10/21/20
(BB)
Scaling the blockchain: payment channels and state channels   [pdfpptx]
References:
 
Lecture 13:
Mon 10/26/20
(BB)
Scaling the blockchain using optimism and using SNARKs
References:

Privacy on a public blockchain
 
Lecture 14:
Wed 10/28/20
(BB)
Privacy: de-anonymizing the blockchain and mixing
References:
 
Lecture 15:
Mon 11/ 2/20
(DB)
zkSNARKs: what they are and how they are used
References:
 
Lecture 16:
Wed 11/ 4/20
(DB)
zkSNARK applications: Rollup, confidential transactions, and Zcash
References:
 
Lecture 17:
Mon 11/ 9/20
(DB)
Preprocessings SNARKs with a trusted setup   [pdf]
References:
 
Lecture 18:
Wed 11/11/20
(BB)
Transparent SNARKs and recursive SNARKs   [pdf]
References:

Final topics
 
Lecture 19:
Mon 11/16/20
(DB)
Crypto tricks: Signature aggregation, HD wallets, Taproot, MimbleWimble
References:
 
Lecture 20:
Wed 11/18/20
(Guest)
The future of blockchains (Olaf Carlson-Wee, Polychain capital)   [pdf]
 
Holiday:   
Mon 11/23/20
Thanksgiving
 
Holiday:   
Wed 11/25/20
Thanksgiving