CS1699 Special Topics: Blockchain Technology and Cryptocurrency
Although the instructor will make a best effort to have the class topic on the day listed, occasionally a change must be made (e.g., a lecture going long, or a guest lecturer unable to make it to class that day). However, these are the topics that will be covered and the expected date that they will be taught.
-
What is a blockchain? What is cryptocurrency?
-
High-level overview (READING: BCT, Foreword)
- Short history of digital currency
- Problems with previous implementations
- How they were solved by Bitcoin
- Basics of using Bitcoin (wallets, transactions)
-
Public-key cryptography (READING: BCT, Chapter 1)
- How does it work?
- Public and private keys
- One-way functions
-
Hashing and cryptographic hashing algorithms - what makes a good hashing algorithm?
- collision‐resistance
- hiding
- puzzle‐friendliness.
-
Blockchain and related data structures
- Hash pointers
- Naive blockchain (linked list with hash pointers)
- Merkle tree (binary tree with hash pointers)
-
More hashing
- Merkle-Damgard transforms
- Digital signatures
- Public identities
-
Decentralization and Bitcoin (READING: BCT, Chapter 2)
- Distributed Consensus protocol
- Attacks on distributed consensus
- False spending - block creation/modification
- Denial of service
- Double-spend attack
- 51% attack
-
Proof of Work and mining
- What are miners doing? (Hash puzzles)
- Bernoulli trials and Poisson process outcome
- Transaction fees and block rewards
-
Mechanics of Bitcoin (READING: BCT, Chapter 3 - 3.4)
- What makes up a transaction?
- Ledger vs account model
- Bitcoin scripts
- Anatomy of a Block (transactions and metadata)
-
The Bitcoin network (READING: BCT, Chapter 3.5 - 3.6)
- Block propagation
- Lightweight (SPV) vs full nodes
- Hard and soft forks
- Limitations of the current Bitcoin network, and how to improve
-
MIDTERM 1
-
Using the Bitcoin network (READING: BCT, Chapter 4 - 4.7)
- What does it really mean to "own"/"have" some bitcoin?
- Key management
- Hot and cold storage
- Sharing and splitting keys (multi-sig, threshold)
- Exchanges and Risks of Bitcoin
- What is an exchange?
- Counterparty, regulatory, reserve risk
- Quantum, SHA-256 weakness, or other "unforeseen" attack
-
Mining in-depth (Chapter 5)
- Specifics on how mining works
- Mining difficulty (ever-increasing)
- Hardware (CPU vs GPU vs FPGAs vs ASICs)
- Mining pools
- Drawbacks of mining
-
Bitcoin as Anonymous Currency (READING: BCT, Chapter 6 - 6.3)
- Anonymity vs Pseudonymity
- Deanonymization via side channel attacks
- Taint analysis
- Mixing
-
NO CLASS ON TUESDAY - HAPPY FALL BREAK
-
Improving the Anonymity of Bitcoin (READING: BCT, Chapter 6.4 - 6.5)
- Decentralized Mixing
- CoinJoin
- Zerocoin and Zerocash
- zk-SNARKs and the challenges of a trusted setup
-
Achieving Consensus (READING: BCT, Chapter 7)
- Kinds of consensus: rules, history, value
- Bitcoin Core
- BIPs (Bitcoin Improvement Proposals)
-
Variations on a Theme: Non-SHA256 Puzzles (READING: BCT, Chapter 8 - 8.2)
- Progress-freeness
- ASIC-resistant (not ASIC-proof) puzzles
- Memory-hard puzzles (Scrypt)
-
More variations on a theme: Non-SHA256 Puzzles (READING: BCT, Chapter 8.3 - 8.5)
- Proof-of-useful-work
- Non-outsourceable Puzzles
- Proof-of-stake vs Proof-of-work
- Problems with Proof-of-stake
-
Bitcoin as a platform (READING: BCT, Chapter 9 - 9.4)
- Secure timestamping
- Burning bitcoin (unspendable transactions)
- Overlay currencies
- "Smart property" (colored coins)
- Bitcoin as a source of randomness
-
MIDTERM 2
-
Bitcoin applications (READING: BCT, Chapter 9.5)
- Smart contracts
- Bitcoin lotteries (e.g. SatoshiDice)
- Decentralized prediction markets
- Contract settlement
-
Altcoins (READING: BCT, Chapter 10 - 10.4)
- What is an altcoin?
- How to create (story, initial allocation, parameter/code/consensus diffs)
- Altcoin infanticide
- Merge mining
-
A Tour of Altcoins and Bitcoin Maximalism
- Litecoin - "Silver to Bitcoin's Gold"
- Dogecoin - Inflationary Bitcoin
- Ethereum - More powerful scripting language
- Monero - Anonymous, not pseudonymous, transactions
- Nano - Distributed Proof of Stake, multiple blockchains
- What is Bitcoin Maximalism?
-
Atomic Swaps and Sidechains (READING: BCT, Chapter 10.5 - 10.6)
- Cross-chain swap protocol
- Sidechains - "Altcoins on Bitcoin"
- SPV proofs
- Transfer contesting
- PoW sampling via PoW skiplists
-
NO CLASS - THANKSGIVING BREAK
-
GUEST LECTURE - Wenchao Wang - Solidity and Smart Contract Security
-
MIDTERM 3
- Societal Impacts and the Future of Blockchain Technology (READING: BCT, Chapter 11)
- Decentralization of institutions
- Blockchain interaction with the "real world"
- Economic impact
- Political impact
- Recent changes and roadmap of Bitcoin (Segregated Witness a.k.a. SegWit, Bitcoin / Bitcoin Cash fork, Lightning Network)
- Current political climate and its impact on cryptocurrency
- Societal Impacts (discussion class - ATTENDANCE MANDATORY)
- DUE: Blockchain Impact Paper