CS 251: Blockchain Technologies

Fall 2025

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,   Gates B03
Section: Friday:   1:30-2:20pm,   Location: Gates B03
Course syllabus (and readings)
Course overview (grading, coursework, exams)
Course staff
Discussion board: Ed Discussions.

Final Exam

The final exam will take place on Tuesday Dec. 9. The exam is remote on Gradescope. You will have three hours to complete the exam in a 24 hours window. During the exam you may use any static resource, such as books, notes. You may not use a search engine, an AI, or a friend. Questions for the staff can be posted on Ed as private posts, and we will respond.

The exam format will be similar to that in previous years. Sample exams from previous years are provided below.

Previous final exams:   [2025]    [2023]    [2022]    [2021]    [2020]    [2019]

Homeworks and Projects

--
Project #1:    Merkle trees in Python    [instructions]   [starter code]
Due: Wednesday, Oct. 1, 2025, via Gradescope (code="KDJ7NE")
--
Homework #1:    [pdf]
Due: Tuesday, Oct. 7, 2025, via Gradescope
--
Project #2: Perform Bitcoin transactions using python-bitcoinlib
Assignment:    [instructions]   [starter code]
Due: Tuesday, Oct. 14, 2023, via Gradescope
--
Homework #2:    [pdf]
Due: Tuesday, Oct. 21, 2025, via Gradescope
--
Project #3: An Ethereum payment app
Assignment:    [instructions]   [starter code]
Due: Tuesday, Oct. 28, 2025, via Gradescope
--
Homework #3:    [pdf]
Due: Tuesday, Nov. 4, 2025, via Gradescope
--
Project #4: Building an on-chain wallet
Assignment:    [instructions]   [starter code]
Due: Tuesday, Nov. 18, 2025, via Gradescope
--
Homework #4:    [pdf]
Due: Tuesday, Dec. 2, 2025, 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.