CS 251: Blockchain Technologies

Fall 2026

The course covers technical aspects of blockchains technologies, including distributed consensus, smart contracts, economics, scalability, and applications. We will use Bitcoin and Ethereum as case studies.

Administrative

Lectures: Mon/Wed   3-4:20pm,   Skilling Auditorium
Section: Friday:   1:30-2:20pm,   Location: Gates B03
Course syllabus (and readings)
Course overview (grading, coursework, exams)
Discussion board: Ed Discussions

Homeworks and Projects

--
Project #1:    Merkle trees in Python    [instructions]   [starter code]
Due: Wednesday, Sep. 30, 2026, via Gradescope (code="44VBVK")
--
Homework #1:    Not out yet.
Due: Tuesday, Oct. 6, 2026, via Gradescope
--
Project #2: Perform Bitcoin transactions using python-bitcoinlib
Assignment:    Not out yet.
Due: Tuesday, Oct. 13, 2026, via Gradescope
--
Homework #2:    Not out yet.
Due: Tuesday, Oct. 20, 2026, via Gradescope
--
Project #3: An Ethereum payment app
Assignment:    Not out yet.
Due: Tuesday, Oct. 27, 2026, via Gradescope
--
Homework #3:    Not out yet.
Due: Tuesday, Nov. 3, 2026, via Gradescope
--
Project #4: Building an on-chain wallet
Assignment:    Not out yet.
Due: Tuesday, Nov. 17, 2026, via Gradescope
--
Homework #4:    Not out yet.
Due: Tuesday, Dec. 1, 2026, via Gradescope

Course calendar

Lecture recordings

Video cameras located in the back of the room will capture the instructor presentations in this course. For your convenience, you can access these recordings by logging into the course Canvas site. These recordings might be reused in other Stanford courses, viewed by other Stanford students, faculty, or staff, or used for other education and research purposes. Note that while the cameras are positioned with the intention of recording only the instructor, occasionally a part of your image or voice might be incidentally captured. If you have questions, please contact a member of the teaching team.