-
Notifications
You must be signed in to change notification settings - Fork 6
Course Syllabus 2020
Dates and topics are subject to change. Reading is assigned on the day specified, and will be discussed in the following class. All assignments are submitted via Gradescope. There is a late day policy of 4 days which you can spread across assignments (this doesn’t count for the project, nor the exams).
8/31/2020: Introduction
- Reading: NBFMG Chapter 0
- Lecture slides
- Cloud recording
9/2/2020: Crypto background
- Reading: NBFMG Chapter 1
- Reading: Shafi + Mihir's Notes (Chap 8 only)
- Lecture slides
- Cloud recording
- Assignment 1 is out
9/7/2020: Labor day, no class
9/9/2020: Crypto background II / Consensus protocols, Towards Bitcoin
- Reading: Nakamoto: Bitcoin whitepaper
- Reading: Back: Hashcash
- Optional reading: Dwork & Naor: Pricing via processing or combatting junk mail
- Lecture slides
- Cloud recording
9/14/2020: Consensus, towards Bitcoin
- Reading: Lamport: The Part Time Parliament
- Reading: Qureshi: The Bitcoin P2P network
- Optional reading: CVE-2018-17145
- Lecture slides
- Cloud recording
9/16/2020: Bitcoin intro
- Reading: Eyal, Sirer: Selfish Mining paper
- Reading: Hanke: ASICBoost White Paper
- Lecture slides
- Cloud recording
9/21/2020: Bitcoin: transaction format and key management
- Reading: Ethereum Yellow Paper
- Reading: Introduction to Smart Contracts
- Lecture slides
- Cloud recording
9/23/2020: Bitcoin: transaction format II
- Reading: Szabo: Smart Contracts
- Reading: Merkle Patricia Trees
- Reading: Analysis of the DAO exploit
- Lecture slides
- Cloud recording
- Assignment 1 is due Thursday 9/24 at 11:59pm
9/28/2020: Ethereum
9/30/2020: Ethereum 1 & Smart Contracts
- Reading: Ethereum is a Dark Forest
- Reading: Reverse Engineering CryptoKitties
- Cloud recording
10/5/2020: Ethereum 2 & Smart Contracts
10/7/2020: Ethereum 3 & Smart Contracts
- Project groups & Topics due Friday 10/8 11:59pm (one page proposal)
10/12/2020: Ethereum Internals
- Reading: Anderson, How are Mappings implemented
- Cloud recording
- Lecture slides
10/14/2020: Mining and Attacks
10/19/2020: Alternative Mining Puzzles
- Reading: Zerocoin paper
- Reading: Maxwell: CoinJoin
- Optional reading: CoinJoin precursors
- Cloud recording
- Lecture slides
10/21/2020: Anonymity & Privacy I
- Reading: Transaction tracing in Ransomware Payments
- Reading: Ethereum Sharding FAQ
- Optional reading: TumbleBit
- Optional reading: Zero knowledge proofs, an illustrated primer (blog post)
- Cloud recording
- Lecture slides
- Assignment 2 is due 10/15 by 11:59pm
10/26/2020: Guest lecture: Ted Yin, Avalanche Labs
- Reading; Snowflake to Avalanche
- Reading: Algorand
- Cloud recording
- Lecture slides
10/28/2020: Scaling cryptocurrencies I (payment channels, state channels) (AJ)
- Reading: Micali's Byzantine Agreement
- Cloud recording
- Reading: NBFMG Chapter 8
11/2/2020: Scaling cryptocurrencies II (sharding, alternative blockchains)
- Reading: Poon, Dryja: Lightning Network
- Reading: Pass, Shi: Thunderella
- Cloud recording
11/4/2020: Guest lecture: Dr Jing Chen, Algorand
- Cloud recording on Piazza
11/9/2020: Privacy and Anonymity II
- Project midterm progress report due 11/11, 11:59pm
- Cloud recording
11/11/2020: Proof of stake
- Reading: Secure Computation with Penalties
- Reading: Fairness from Public Bulletin Boards
- Assignment 3 is out on 11/12/2020
- Cloud recording
11/16/2020: Blockchains applications I
- Cloud recording
- Reading: NBFMG Chapter 9
11/18/2020:
11/23/2020: Thanksgiving break, no class
- ASSIGNMENT 3 DUE TODAY AT 11:590
11/25/2020: Thanksgiving break, no class
11/30/2020: Ethereum / Scaling
- Reading: Proofs of Space
- Reading: Chia
- Cloud recording
- Lecture slides
12/2/2020: Project presentations
12/7/2020: Project presentations II
12/9/2020: No class (JHU is on a Thursday schedule)
FINAL PROJECT DELIVERABLES DUE 11:59pm ET DECEMBER 14 VIA GRADESCOPE