CS 601.641/441: Blockchains and Cryptocurrencies (Spring 2018)

Overview: This course will cover blockchains and their applications to cryptocurrencies and beyond. Topics include distributed consensus and blockchains, Bitcoin and altcoins, smart contracts and recent applications. Relevant crypto background will be covered.
  • Instructor: Abhishek Jain
  • Time: 1:30 pm - 2:45 pm, Monday and Wednesday
  • Location: Shaffer 100
  • Office Hours: Tue 2-3pm (Malone 315)
  • Grading: Assignments and Quiz (50%), Project (50%)
  • TA: Arka Rai Choudhuri and Aarushi Goel
  • Email: achoud AT cs.jhu.edu and agoel10 AT jhu.edu
  • TA Office Hours: Arka (Wed 4:30-6pm), Aarushi (Thu 4-5:30pm)
  • Discussion Board: Piazza
We will closely follow Bitcoin and Cryptocurrency Technologies by Narayanan, Bonneau, Felten, Miller, Goldfeder (NBFMG) for several lectures. Additional reading material will include recent research papers (links will be provided). Some of the teaching material is borrowed from the Coursera course on Bitcoin and Cryptocurrency Technologies.

Class Schedule:

Date Topic Reading
Jan 29 Introduction
NBFMG Chapter 0
Jan 31 Crypto Background - I
(Slides, Notes)
NBFMG Chapter 1
Mihir's Notes
Mike's Notes
Feb 5 Crypto Background - II
(Slides-I, Slides-II)
NBFMG Chapter 1
Full Proof of Schnorr Signatures
Simplified Presentation
Feb 7 Intro to Cryptocurrencies
NBFMG Chapter 2
Feb 14 Bitcoin Consensus
NBFMG Chapter 2
Bitcoin white paper
Feb 19 Bitcoin Consensus: Analysis
Guest Lecturer: Arka Rai Choudhuri
Paper: Pass, Seeman, shelat
Feb 21 Bitcoin Mechanics
NBFMG Chapter 3
Research perspective and challenges (Section II)
Bitcoin Developer Guide Sections: Blockchain, Transactions, Contracts, P2P network
Feb 26 Bitcoin Key Management
NBFMG Chapter 4
Research perspective and challenges (Section IV)
Bitcoin Developer Guide Sections: Wallets
Usability of Bitcoin Key Management
Feb 28 Bitcoin Mining
NBFMG Chapter 5
Research perspective and challenges (Section III)
Bitcoin Developer Guide Sections: Mining
Bitcoin White Paper (Section 11)
Selfish Mining Paper
March 5 Anonymity (Part I)
(Slides-I, Slides-II)
NBFMG Chapter 6
Research perspective and challenges (Section VII)
Bitcoin White Paper (Section 10)
Fistful of Bitcoins Paper
March 7 Anonymity (Part II)
Guest Lecturer: Matt Green
NBFMG Chapter 6
Zerocoin Paper
Zerocash Paper
March 12 Alternative Mining Puzzles
NBFMG Chapter 8
Research perspective and challenges (Section VI)
March 14 Algorand
Fast Byzantine Agreement Paper
Algorand Paper
March 26 Applications of Blockchains (Part I)
NBFMG Chapter 9
April 2 Applications of Blockchains (Part II)
NBFMG Chapter 9
Secure Computation with Penalties Paper
April 4 Applications of Blockchains (Part III)
Fair MPC Paper
April 9 Applications of Blockchains (Part IV)
One-Time Programs Paper
April 11 Payments Channels and Micropayments
(Board Lecture)
Lightning Network
Bolt Payment Channel
Pass-shelat Micropayment
Anonymous Micropayments
April 16 Ethereum
Guest Lecturer: Aarushi Goel
Ethereum White Paper
Ethereum Yellow Paper
April 16 Proofs of Space and Time
Guest Lecturer: Krzysztof Pietrzak
Proofs of Space paper
Spacemint Paper
Beyond Hellman's Time-Memory Trade-offs
Proofs of Sequential Work

Assignments (Submit via Gradescope)