CS 294-163: Decentralized Security: Theory and Systems
Fall 2019

Lectures: Tue/Thur 3:30pm - 4:59pm, 310 Soda
This course is a graduate seminar on theory and systems for decentralized security. Recently, there has been much excitement in both academia and industry around the notion of decentralized security, which refers to, loosely speaking, security mechanisms that do not rely on the trustworthiness of any central entity. In only a few years, this area has generated many beautiful cryptographic constructs as well as exciting systems with real-world adoption. The course will cover topics such as decentralized ledgers, blockchain/cryptocurrencies, decentralized access control, secure multi-party computation, federated learning, coopetitive learning, and others. (3 units)

This is an advanced course, which will go deeply into both cryptography and systems. A solid foundation in cryptography is required, and a similar foundation in systems is beneficial.

Office hours: Tuesdays 2-3PM in Soda 729 (Raluca); Fridays 2-3PM in Soda 347 (Pratyush)

Sign up for this course's Piazza. Please don't hesitate to ask questions to the class and have discussions there. Moreover, you can use it to find course project teammates.
Contact: Got a question? Post on Piazza.
Course overview:
Prerequisites: CS 162 and CS 161 or equivalent. A strong foundation in cryptography and math is required. A solid knowledge of computer systems is helpful.

Date Crypto Systems Readings
Aug 29

Authenticated data structures


Sept 3

Sept 5

WAVE - Decentralized authorization. (questions) (answers) (slides)

Sept 10

multi-party computation

Garbled circuits. (questions) (answers)

Sept 12

Collaborative learning

Training linear models with garbled circuits. (questions) (answers)

Sept 17

Introduction to federated learning, with guest lecturer Min Du, UC Berkeley. (slides) (questions) (answers)

Sept 19

Attacks on federated learning, with guest lecturer Nicholas Carlini, Google. (questions) (answers)

Sept 24

multi-party computation

Collaborative analytics and learning

Secure aggregation in federated learning. (questions)

Sept 26

Federated generative models, federated analytics, and deploying FL in production, with guest lecturer Sean Augenstein, Google.

(slides) (no readings and no questions)

Oct 1

multi-party computation

Private queries for federated databases. (questions) (answers) (slides)

Oct 3

Proposal due before class

Semi-honest SPDZ (questions) (answers)

Oct 8

Collaborative learning

Securely training ML models via 2PC techniques with guest lecturer Payman Mohassel. (questions) (answers)

Oct 10

Differential privacy

Introduction to differential privacy (questions) (answers)

Oct 15

Systems for differential privacy, with guest lecturer Mathias Lécuyer (questions)

Oct 17

Malicious MPC

Malicious SPDZ (questions)

hands-on tutorial!

Oct 22

Collaborative learning

Coopetitive training. (questions)
Oct 24

(distributed consensus, cryptocurrency)

Bitcoin (questions)

Oct 29

Ethereum (questions)

hands-on tutorial!

Oct 31

Introduction to consensus (no questions)

Nov 5

XRP Ledger (Ripple), with guest lecturers from the XRP team

Nov 7

Algorand, with guest lecturer Derek Leung (questions). (lecture notes).

Nov 12

Zero-knowledge proofs

Intro to zero-knowledge proofs

hands-on tutorial!

Nov 14


Decentralized Private Payments (questions).

Nov 19

Proofs of solvency, with guest lecturer Kostas Chalkias, Calibra. (questions).

Nov 21

Stellar, with guest lecturer Prof. David Mazières.

Nov 26

Final project presentations

Dec 3

Final project presentations

Dec 5

Final project presentations

Dec 13

Final Project Report due at 11:59PM!

Related Courses

Security books

Simons Institute Programs (with videos!)


Building secure systems involves innovating in both systems and security. Therefore, the top conferences in this field are both systems and security conferences.

Systems conferences

Security and crypto conferences