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.

The current schedule is tentative and work in progress.

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

Federated learning, with guest lecturer Min Du (questions)

Sept 19

Attacks on federated learning, with guest lecturer Nicholas Carlini

Sept 24

multi-party computation

Collaborative analytics

Secure aggregation

Sept 26


Oct 1

Semi-honest SPDZ

Oct 3

Proposal due before class

Malicious SPDZ
hands-on tutorial!

Oct 8

Collaborative learning


Oct 10

Coopetitive training for linear models - Helen

Oct 15

Differential privacy

Introduction to differential privacy

Oct 17

Collaborative learning


Oct 22

(distributed consensus, cryptocurrency)


Oct 24

hands-on tutorial!

Oct 29


Oct 31

Ripple's XRP Ledger

Nov 5


Nov 7


Nov 12

Zero-knowledge proofs

Intro to zero-knowledge proofs
hands-on tutorial!

Nov 14



Nov 19


Nov 21


Nov 26

Final project presentations

Dec 3

Final project presentations

Dec 5

Final project presentations

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