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.

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

Piazza:
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.
Assignments:
Grading:


The current schedule is tentative and work in progress.

Date Crypto Systems Readings
Aug 29

Authenticated data structures

Ledgers

Sept 3

Sept 5

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

Sept 10

Secure
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

Secure
multi-party computation

Collaborative analytics

Secure aggregation

Sept 26

SMCQL

Oct 1

Semi-honest SPDZ

Oct 3

Proposal due before class

Malicious SPDZ
hands-on tutorial!

Oct 8

Collaborative learning

SecureML

Oct 10

Coopetitive training for linear models - Helen

Oct 15

Differential privacy

Introduction to differential privacy

Oct 17

Collaborative learning

Sage

Oct 22

Blockchain/Ledgers
(distributed consensus, cryptocurrency)

Bitcoin

Oct 24

Ethereum
hands-on tutorial!

Oct 29

Algorand

Oct 31

Ripple's XRP Ledger

Nov 5

Stellar

Nov 7

Thunderella

Nov 12

Zero-knowledge proofs

Intro to zero-knowledge proofs
hands-on tutorial!

Nov 14

Blockchain/Ledgers

zkLedger

Nov 19

Zerocash

Nov 21

ZEXE

Nov 26

Final project presentations

Dec 3

Final project presentations

Dec 5

Final project presentations




Related Courses

Security books

Simons Institute Programs (with videos!)

Conferences

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