Lecture 1, 24th August: Introduction to Blockchains
Presenter: Kartik Nayak
Notes, Slides

Lecture 2, 26th August: Bitcoin and Nakamoto Consensus
Presenter: Kartik Nayak
Reference reading: Bitcoin, Hash functions, Blog post
Notes

Lecture 3, 31st August: Bitcoin and Nakamoto Consensus (continued)
Presenter: Kartik Nayak
Reference reading: Bitcoin, Blog post
Notes

Lecture 4, 2nd September: Byzantine General’s Problem, Dolev-Strong Protocol
Presenter: Kartik Nayak
Reference reading: Consensus definitionPaper, Blog post
Notes

Lecture 5, 7th September: Dolev-Strong Protocol (contd.), Communication complexity of Byzantine Broadcast
Presenter: Kartik Nayak
Reference reading: Dolev-Reischuk paper, Blog post
Notes

Lecture 6, 9th September: Latency of Byzantine Broadcast, Need for a PKI
Presenter: Kartik Nayak
Reference reading: Latency-paper, Latency-Blog post, FLM-paper, FLM-Blog post

Lecture 7, 14th September: An O(1)-round Byzantine Agreement Protocol for t < n/2
Presenter: Kartik Nayak
Reference reading: Paper
Slides

Lecture 8, 16th September: Setup assumptions, differences between synchrony, partial synchrony and asynchrony
Presenter: Kartik Nayak
Reference reading: setup assumptions, network model, partial synchrony, DLS paper, FLP paper 

Lecture 9, 21st September: Partial synchrony, DLS lower bound
Presenter: Kartik Nayak
Reference reading: Blog post, paper
Slides, notes

Lecture 10, 23rd September:  Practical Byzantine Fault Tolerance
Presenter: Kartik Nayak
Reference reading: paper, video 
Notes

Lecture 11, 28th September: Practical Byzantine Fault Tolerance, HotStuff
Presenter: Kartik Nayak
Reference reading: PBFT-paper, video, blog-post on variants, HotStuff-paper
Notes

Lecture 12, 30th September: Scalability of Decentralized Trust
Presenter: Ittai Abraham
Video

Lecture 13, 7th October: Dfinity’s Synchronous Consensus Protocol
Presenters: Jannis Stoeter, Adam Carriker
Reference reading: Original paper, exploration paper
Slides

Lecture 14, 12th October: Dfinity’s Internet Consensus Computer Protocol, Sync HotStuff
Presenters: Shuhan Chen, Shan Qing, Yu Tang
Reference reading: ICC, Sync HotStuff, SHS blog post, Survey of modern synchronous protocols
Sync HotStuff slides, ICC slides

Lecture 15, 14th October: Proof of Nakamoto Consensus
Presenter: Kartik Nayak
Reference reading: Paper, Blog post
Notes

Lecture 16, 19th October: Selfish mining, Fruitchains
Presenters: Zoe Kona, Mariusz-Derezinski Choo
Reference reading: Selfish mining [paper, blog post], Fruitchains
Selfish mining slides

Lecture 17, 21st October: Prism: Improving Nakamoto consensus
Presenter: Rathi Kashi
Reference reading: Prism

Lecture 18, 26th October: Player replaceability
Presenter: Kartik Nayak
Reference reading: Algorand
Notes

Lecture 19, 28th October: Accountability
Presenter: Kartik Nayak
Reference reading: BFT Protocol Forensics
Slides

Lecture 20, 2nd November: Proof-of-stake, SnowWhite
Presenters: David Pujol, Sarisht Wadhwa
Reference reading: SnowWhite
Slides

Lecture 21, 4th November: Ethereum 2.0
Presenter: Silas Lenihan, Sarisht Wadhwa
Reference reading: Gasper, Eth beacon chain
Eth beacon chain slides, Gasper slides

Lecture 22, 9th November: Ouroboros Samasika, Use of trusted hardware
Presenters: David Chanel Richardson, Diego Espinosa
Reference reading: SamasikaA2M
Samasika slides

Lecture 23, 11th November: 
Presenter: Dahlia Malkhi

Lecture 24, 16th November: Ebb-and-Flow Protocols, Random beacons and coin tossing
Presenters: Pranay Jain, Adithya Bhat
Reference reading: Ebb-and-Flow, Drand
Slides – randomness beacons and coin tossing

Lecture 25, 18th November: Project Presentations

Lecture 26, 23rd November: Project Presentations

Tentative list of topics: link