In this course, we will learn the mathematical foundations for blockchains. The course will have three main modules which form the scientific foundations for blockchains:
-
Cryptography: including computational security, encryption, message authentication, digital signatures, zero-knowledge proofs, multi-party computation, Oblivious RAM, and their applications in blockchains
-
Distributed consensus: including Byzantine broadcast, state machine replication, Bitcoin’s Nakamoto consensus, lower bounds, and incentive compatibility in large-scale consensus
-
Incentives and mechanism design: including second-price auction, VCG auction, transaction fee mechanism design, game-theoretically secure protocols for blockchains, Miner Extractable Value, DeFi
Students are required to write mathematical proofs for homeworks and exams. We require the students to have mathematical maturity.
We will have 1 programming lab, 5 homeworks, 3 mid-terms, and no final.
Syllabus
https://www.cs.cmu.edu/~15435-f23/syllabus.html
Class format
Lecture and project-based
Home departments
Computer Science Department, ECE
Target audience
Computer Science Department and ECE students
Background required
Faculty and instructors who have taught this course in the past
Elaine Shi