CS 251: Cryptocurrencies and Blockchain Technologies

Cryptocurrencies, blockchains, and smart contracts

Autumn 2020

The course covers all aspects of blockchains and cryptocurrencies, including distributed consensus, smart contracts, economics, scalability, and applications. We will focus on Bitcoin and Ethereum as case studies.

Administrative

Course syllabus (and readings)
Course overview (grading, textbooks, coursework, exams)
CS251 Lectures: Monday, Wednesday:   2:30-3:50pm,   on Zoom
Sections: Friday:   14:30-15:20,   on Zoom.
CA mailing list: cs251ta@cs.stanford.edu

Homework

--
Homework #1:    [pdf]
Due: Monday, Sep. 28, 2020, via Gradescope (code: 92ZNG8)
--
Homework #2:    [pdf]
Due: Monday, Oct. 12, 2020, via Gradescope
--
Homework #3:    [pdf]
Due: Wedensday, Oct. 28, 2020, via Gradescope
--
Final exam:    [pdf]
Due: Wedensday, Nov. 18, 2020, via Gradescope

Projects

--
Project #1: Perform Bitcoin transactions using python-bitcoinlib
Assignment:    [instructions]   [starter code]
Due: Monday, Oct. 5, 2020
--
Project #2: Ethereum de-centralized app (Dapp)
Assignment:    [instructions]   [starter code]
Due: Wednesday, Oct. 21, 2020
--
Project #3: State channel battleship
Assignment:    [instructions]   [starter code]
Due: Wed, Nov. 4, 2020
--
Project #4: Using SNARKs
Assignment:    [instructions]   [starter code]
Due: Wed, Nov. 11, 2020

Course calendar