Bitcoin and Cryptocurrency Technologies
Coursera
Course Summary
There’s a lot of excitement about Bitcoin, but also a lot of confusion about what Bitcoin is and how it works. We’re offering this course focusing on the computer science behind Bitcoin to help cut through the hype and get to the core of what makes Bitcoin unique.
-
+
Course Description
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.
-
+
Course Syllabus
Intro to Crypto and Cryptocurrencies
- Cryptographic Hash Functions
- Hash Pointers and Data Structures
- Digital Signatures
- Public Keys as Identities
- Simple Cryptocurrencies
How Bitcoin Achieves Decentralization
- Centralization vs. decentralization
- Distributed consensus
- Consensus without identity: the block chain
- Incentives and proof of work
- Putting it all together
Mechanics of Bitcoin
- Bitcoin transactions
- Bitcoin scripts
- Applications of Bitcoin scripts
- Bitcoin blocks
- The Bitcoin network
- Limitations & improvements
How to Store and Use Bitcoins
- 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
- The task of Bitcoin miners
- Mining hardware
- Energy consumption & ecology
- Mining pools
- Mining incentives and strategies
Bitcoin and anonymity
- Anonymity basics
- Overview of Bitcoin deanonymization
- Mixing
- Decentralized mixing
- 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
- Proof-of-useful-work
- Nonoutsourceable Puzzles
- Proof-of-Stake
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?
-
+
Recommended Background
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. -
+
Course Format
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. -
+
Suggested Reading
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):
Chapter 1: Introduction to Cryptography & Cryptocurrencies
Chapter 2: How Bitcoin Achieves DecentralizationChapter 3: Mechanics of BitcoinChapter 4: How to Store and Use BitcoinsChapter 5: Bitcoin MiningChapter 7: Community, Politics, and Regulation