Course Information

Course Description and Prerequisites

This course covers topics of zero-knowledge proofs and their applications in machine learning and blockchain to enhance privacy, integrity and scalability. We will discuss the basic concepts and state-of-the-art constructions of these cryptographic schemes. Additionally, we will talk about how to use these techniques to construct privacy-preserving blockchain and crypto-currencies, zkRollups and zkEVM, and zero-knowledge proofs for machine learning. We will focus on efficiency and scalability constraints in practice, and discuss challenges and solutions to efficiently realize these cryptographic protocols.

Prerequisites: CS 407 or equivalent courses approved by the instructor. Basic knowledge of algorithms, data structures and programming is recommended.

Textbook and Resource Materials

MOOC on Zero-Knowledge Proofs: https://zk-learning.org/

No textbook is required for the course. Reading materials will be posted online during the semester

Schedule (tentative)

Date Topic Readings Deadline
Week 1 Logistics, background, and introduction to verifiable computation and zero-knowledge proof Merkle Hash Tree
Week 2 Polynomial commitments Polynomial commitments
Week 2 Generic solutions: interactive proofs
Week 3
Week 3 Generic solutions:Plonk Plonk Team Formation
Week 4 Introduction to blockchain and cryptocurrency Bitcoin
Week 4 Pricacy-preserving crypto-currencies
Week 5 Generic solutions: SNARK
Week 5 Proposal due
Week 6 Smart contract
Week 6 Privacy-preserving smart contract, zkRollup and zkEVM Hawk
Week 7 ZKP based on error-correcting codes
Week 7 Interactive Oracle Proofs and FRI FRI
Week 8 Midterm Presentation
Week 8
Week 9 Spring Break
Week 10 Zero-knowledge proofs for machine learning CNN zkCNN
Week 10 Zero-knowledge decision tree Zero-knowledge decision trees
Week 11 Dynamic zkSNARKs
Week 11 Linear-time encodable codes
Week 12 RAA code
Week 12 Recursive SNARKs
Week 13 Folding
Week 13 Distributed SNARKs
Week 14 Lookup Arguments
Week 14 Final Presentation
Week 15 Final Presentation
Week 15 Final Presentation
Week 16 Final Presentation
Week 16 Final report Final report due

Grading

Class Participation: 10%.

Reading assignments: 30%. Students will submit reviews for one of the reading materials every 1-2 weeks. The reviews should include a brief summary of the paper, the contributions, weaknesses and potential improvements.

Course project: 60%. Project (60%): Students will form groups and complete research projects related to the topics of the course. The grading consists of a project proposal, a mid-term progress report, a final presentation and a final project report. Students may propose their own topics or choose from a list of suggested topics on secure multiparty computations, verifiable computations and zero knowledge proof, privacy-preserving machine learning and blockchain.

Suggested topics for projects:

Blockchains

Zero Knowledge Proof