Monday/Wednesday 3:00–4:20 pm,
306 Sherrerd.
Undergrads welcome; you'll need to get this form signed by me on the first day of class.
Sign up on Piazza.
Description
Underlying the widespread public interest in Bitcoin is an intricate balance of technology, market forces, and social norms. Bitcoin serves as an excellent case study for learning many core CS concepts — cryptography, distributed systems, game theory, programming languages, and system security.
Topics: first-generation cryptocurrencies, how Bitcoin achieves decentralization, mechanics of Bitcoin, Bitcoin as a currency, mining, anonymity, community and politics, Altcoins, Bitcoin as a platform, the future of Bitcoin.
The first half of the course will be "flipped:" students will watch online lectures and class time will be used for discussion.
Activities: critical discussion of lectures and readings, student presentations, programming assignments, final project on a topic of your choosing.
Lectures
The online lectures are by Joseph Bonneau, Edward Felten, and me, with Andrew Miller guest lecturing. The videos will be online soon.
-
Intro to Crypto and Cryptocurrencies (Felten)
-
Cryptographic Hash Functions
-
Hash Pointers and Data Structures
-
Digital Signatures
-
Public Keys as Identities
-
Simple Cryptocurrencies
-
How Bitcoin Achieves Decentralization (Narayanan)
-
Centralization vs. decentralization
-
Distributed consensus
-
Consensus without identity: the block chain
-
Incentives and proof of work
-
Putting it all together
-
Mechanics of Bitcoin (Bonneau)
-
Bitcoin transactions
-
Bitcoin scripts
-
Applications of Bitcoin scripts
-
Bitcoin blocks
-
The Bitcoin network
-
Limitations & improvements
-
How to Store and Use Bitcoins (Felten)
-
Simple Local Storage
-
How to Store and Use Bitcoins
-
Secret Keys
-
Hot and Cold Storage
-
Splitting and Sharing Keys
-
Online Wallets and Exchanges
-
Payment Services
-
Transaction Fees
-
Currency Exchange Markets
-
Bitcoin mining (Bonneau)
-
The task of Bitcoin miners
-
Mining hardware
-
Energy consumption & ecology
-
Mining pools
-
Mining incentives and strategies
-
Bitcoin and anonymity (Narayanan)
-
Anonymity basics
-
Overview of Bitcoin deanonymization
-
Mixing
-
Decentralized mixing
-
Zerocoin and Zerocash
-
Tor and the Silk Road
-
Community, Politics, and Regulation (Felten)
-
Consensus in Bitcoin
-
Bitcoin Core Software
-
Stakeholders : Who’s in Charge?
-
Roots of Bitcoin
-
Governments Notice Bitcoin
-
Anti Money-Laundering
-
Regulation
-
New York’s BitLicense Proposal
-
Alternative Mining Puzzles (Miller)
-
Essential Puzzle Requirements
-
ASIC Resistant Puzzles
-
Proof-of-useful-work
-
Nonoutsourceable Puzzles
-
Proof-of-Stake
-
Bitcoin as a platform (Bonneau)
-
Bitcoin as an append-only log
-
Bitcoins as “smart property”
-
Secure multi-party lotteries in Bitcoin
-
Bitcoin as randomness source
-
Prediction markets & real-world data feeds
-
Altcoins and the Cryptocurrency Ecosystem (Miller)
-
Short History of Altcoins
-
Interaction between Bitcoin and altcoins
-
Lifecycle of an Altcoin
-
Bitcoin-Backed Altcoins, “Side Chains”
-
The future of Bitcoin? (Narayanan)
-
The block chain as a vehicle for decentralization
-
Routes to decentralization
-
What can we decentralize?
-
When is decentralization a good idea?