CS 251(p): Bitcoin and Crypto Currencies

Course Syllabus and readings

Fall 2015

Every lecture is accompanied by recommended reading materials that expand on what was covered in the lecture. In the listings below we use NBFMG to refer to the draft textbook Bitcoin and Cryptocurrency Technologies by Narayanan, Bonneau, Felten, Miller and Goldfeder.

 
Lecture 1:
9/21/15
(DB)
Intro to cryptography & crypto currencies
Reading:

Part 1: Bitcoin today
 
Lecture 2:
9/23/15
(JB)
Nakamoto consensus
Reading:
 
Lecture 3:
9/28/15
(JB)
Bitcoin's protocols
Reading:
cs251p lab 0:   Overview lecture
 
Lecture 4:
9/30/15
(DB)
Bitcoin applications & security
Reading:
 
Lecture 5:
10/ 5/15
(DB)
Bitcoin mining mechanics
Reading:
cs251p lab 1:   Set up your Bitcoin development environment
 
Lecture 6:
10/ 7/15
(JB)
Bitcoin mining strategy and attacks
Reading:
 
Lecture 7:
10/12/15
(JB)
Bitcoin community & politics
Reading:
cs251p lab 2:   Introducing bitcoind
 
Lecture 8:
10/14/15
(DB)
Anonymity: traceability & mixing
Reading:

Part 2: Extending Bitcoin
 
Lecture 9:
10/19/15
(DB)
Anonymity: perfect anonymity & zero knowledge cryptocurrencies
Reading:
cs251p lab 3:   Download and parse the Blockchain
 
Lecture 10:
10/21/15
(JB)
Overview of altcoins
Reading:
 
Lecture 11:
10/26/15
(JB)
Overview of Ethereum
Reading:
cs251p lab 4:   Create, sign, and send a Bitcoin transaction
 
Lecture 12:
10/28/15
(DB)
Programming smart contracts on Ethereum
Reading:
 
Lecture 13:
11/ 2/15
(inv)
Sidechains
Reading:
cs251p lab 5:   Visualize Bitcoin network traffic with Wireshark
 
Lecture 14:
11/ 4/15
(JB)
Alternative mining
Reading:
 
Lecture 15:
11/ 9/15
(inv)
Legal aspects of virtual currency   (Ben Lawsky)
Reading:
cs251p lab 6:   Write a Bitcoin CPU miner and use a mining chip
 
Lecture 16:
11/11/15
(inv)
Stellar   (David Mazieres, lecture held in Skilling Auditorium)
Reading:
 
Lecture 17:
11/16/15
(inv)
Crypto currencies and the developing world   (Joyce Kim)
Reading:
cs251p lab 7:   Write a simple Bitcoin script
 
Lecture 18:
11/18/15
(inv)
Lightning networks   (Tadge Dryja)
Reading:
 
Holiday:   
11/23/15
Thanksgiving
 
Holiday:   
11/25/15
Thanksgiving
 
Lecture 19:
11/30/15
(DB+JB)
Other block chain applications: title records, timestamping, lotteries, and randomness.
Reading:
cs251p lab 8:   Send and receive a Bitcoin micropayment
 
Lecture 20:
12/ 2/15
(inv)
Crypto currencies and traditional finance: running a Bitcoin exchange   (Fred Ehrsam, Coinbase)
Reading: