To really understand what is special about Bitcoin, we need to understand how it works at a technical level. We’ll address the important questions about Bitcoin, such as:
How does Bitcoin work? What makes Bitcoin different? How secure are your Bitcoins? How anonymous are Bitcoin users? What determines the price of Bitcoins? Can cryptocurrencies be regulated? What might the future hold?
After this course, you’ll know everything you need to be able to separate fact from fiction when reading claims about Bitcoin and other cryptocurrencies. You’ll have the conceptual foundations you need to engineer secure software that interacts with the Bitcoin network. And you’ll be able to integrate ideas from Bitcoin in your own projects.
There are four lecturers: Joseph Bonneau, Edward Felten, Arvind Narayanan, and Andrew Miller.
Intro to Crypto and Cryptocurrencies
Cryptographic Hash Functions
Hash Pointers and Data Structures
Public Keys as Identities
How Bitcoin Achieves Decentralization
Centralization vs. decentralization
Consensus without identity: the block chain
Incentives and proof of work
Putting it all together
Mechanics of Bitcoin
Applications of Bitcoin scripts
The Bitcoin network
Limitations & improvements
How to Store and Use Bitcoins
Simple Local Storage
How to Store and Use Bitcoins
Hot and Cold Storage
Splitting and Sharing Keys
Online Wallets and Exchanges
Currency Exchange Markets
The task of Bitcoin miners
Energy consumption & ecology
Mining incentives and strategies
Bitcoin and anonymity
Overview of Bitcoin deanonymization
Zerocoin and Zerocash
Tor and the Silk Road
Community, Politics, and Regulation
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
Essential Puzzle Requirements
ASIC Resistant Puzzles
Bitcoin as a platform
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
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?
An introductory computer science class (such as CS 101) is required.
Basic programming experience as well as some knowledge of data structures and algorithms (linked lists, sorting, searching…) are strongly recommended.
There is no required reading for this class. As the lectures progress, we’ll provide links to more in-depth material for students who want to dig deeper.
The lectures for this course are also being published as a textbook. Drafts of several chapters are currently available (each corresponds to a lecture):
The class will consist of lecture videos broken up into 5-7 segments, each 10-15 minutes in length. Each segment contains 1 or 2 integrated quiz questions.
There will also be standalone homeworks that are not part of video lectures.