The following course schedule is tentative and subject to change. Logistics link here.
Week | Date | Instructor | Topic | Reading | Additional information/reading |
---|---|---|---|---|---|
Module 1: Synchronous Protocols | |||||
1 | 27-Aug | Kartik Nayak | Defining consensus | The Byzantine Generals Problem | |
29-Aug | Kartik Nayak | Synchronous Byzantine Agreement | Synchronous Byzantine Agreement with Expected O(1) Rounds, Expected O(n^2) Communication, and Optimal Resilience | Slides | |
2 | 3-Sep | Kartik Nayak | Dolev-Strong protocol | Authenticated Algorithms for Byzantine Agreement | Notes |
5-Sep | Kartik Nayak | Class canceled due to Dorian | |||
3 | 10-Sep | Kartik Nayak | Lower bound on communication complexity | Bounds on information exchange for Byzantine Agreement | Blog post |
12-Sep | Kartik Nayak | Lower bound in the absence of set up assumptions | Easy impossibility proofs for distributed consensus problems | Blog post | |
4 | 17-Sep | Kartik Nayak | Lower bound on the round complexity | A Simple Bivalency Proof that t-Resilient Consensus Requires t + 1 Rounds | Deadline for submitting project topics |
19-Sep | Kartik Nayak | Non-lock-step consensus | Dfinity (ref1, ref2) | ||
5 | 24-Sep | _to be filled_, _to be filled_ | 1. _to be filled_ 2. _to be filled_ | Potential options: - Sync HotStuff, - Flexible BFT (sync), - PiLi, - Byzantine Agreement with a rational adversary, - Consensus through Herding | |
Module 2: Partially Synchronous/Asynchronous Protocols | |||||
26-Sep | Kartik Nayak | FLP impossibility, Paxos | Impossibility of Distributed Consensus with One Faulty Process, Paxos Made Simple (ref 2) | FLP proof explanation | |
6 | 1-Oct | Kartik Nayak | Ben-Or protocol | Another Advantage of Free Choice: Completely Asynchronous Agreement Protocols, | Correctness proof Deadline for submitting Assignment 1 |
3-Oct | Kartik Nayak | DLS | Consensus in the Presence of Partial Synchrony | Blog post1, blog post2 | |
7 | 8-Oct | Fall Break | Project milestone 1 | ||
10-Oct | Kartik Nayak | PBFT and its variants | Practical Byzantine Fault Tolerance, HotStuff, Tendermint | Video by Barbara Liskov and Miguel Castro, Blog post on variants | |
8 | 15-Oct | Yash Patil, Zhenyu Zhou, Jiayao Hu | 1. Random oracles in Constantinople 2. BAR fault tolerance | Potential options: - Random Oracles in Constantinople, - HoneyBadger, - BAR Fault Tolerance for Cooperative Services - Byzantine quorum systems | |
Module 3: Nakamoto-style protocols | |||||
17-Oct | Kartik Nayak | Bitcoin and Nakamoto consensus | Bitcoin: A Peer-to-Peer Electronic Cash System, Analysis of the Blockchain Protocol | Video1, Video2 | |
9 | 22-Oct | Guest lecture by Nikhil Gupta, IBM | Hyperledger | Project milestone 2 | |
24-Oct | Guest lecture by Alessandra Scafuro, NCSU | ||||
10 | 29-Oct | Kartik Nayak | Analyzing Nakamoto consensus | ||
31-Oct | Kartik Nayak | Prism, Proof-of-stake | Deconstructing the Blockchain to Approach Physical Limits, Algorand | ||
11 | 5-Nov | Yan Ye, _to be filled_ | 1. Casper 2. _to be filled_ | Potential options: - Selfish Mining, - Casper, - Thunderella, - Hybrid Consensus, - Solida, - Ouroborous, - Fruitchains, - On the Instability of Bitcoin Without the Block Reward, - The Miner's Dilemma | |
7-Nov | John Martin, Rohan Reddy | 1. Traceability of blockchain, 2. Sleepy model of consensus | - An Empirical Analysis of Traceability in the Monero Blockchain - The Sleepy Model of Consensus | ||
12 | 12-Nov | Tue | Guest Lecture by Prof. McDaniel | ||
14-Nov | Thu | Guest Lecture by Prof. McDaniel | |||
13 | 19-Nov | Tue | Project presentations 1 | ||
21-Nov | Thu | Project presentations 2 | |||
14 | 26-Nov | Tue | Project presentations 3 | Project final report due |