Foundations of Blockchains

Location: Pittsburgh

Semester Offered: Fall

Cross listed Courses:

Course Number Department Units
15-435 Computer Science Department 12
15-635 Computer Science Department 12
15-735 Computer Science Department 12
18-435 Electrical and Computer Engineering 12
18-635 Electrical and Computer Engineering 12

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:

  1. Cryptography: including computational security, encryption, message authentication, digital signatures, zero-knowledge proofs, multi-party computation, Oblivious RAM, and their applications in blockchains

  2. Distributed consensus: including Byzantine broadcast, state machine replication, Bitcoin’s Nakamoto consensus, lower bounds, and incentive compatibility in large-scale consensus

  3. 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

  • CS students: 15251 or 15210 or 15330

  • ECE students: (18334) or (18335) or (18465) or (18733) or (18202 and 18213) or (18202 and 15513) or (18202 and 18613) or (18202 and 14513)

Faculty and instructors who have taught this course in the past

Elaine Shi