Instructor | Andrew Miller soc1024@illinois.edu |
---|---|
Location | ECEB 4070 |
Lecture Times |
Tuesday and Thursday, 11:00am - 12:15pm |
Office | CSL 461 |
Office Hours |
Wednesdays 2pm-3pm or by appointment |
Piazza | [piazza link] |
Decentralized cryptocurrencies, such as Bitcoin and Ethereum, have gained rapid popularity, attracting the attention of academics, entrepreneurs, economists, and policy-makers. They promise to create new disruptive markets, and revolutionize how we think of money and financial infrastructure.
The goal of this course is to introduce students to current research in cryptocurrencies. We’ll cover the technical background of applied cryptography and incentive mechanisms. The bulk of the course will consist of reading and discussion of recent research papers from top security conferences. Assignments will involve hands-on practice with cryptocurrency tools, such as sending and receiving cryptocurrency payments, and programming smart contracts. The course will culminate with an original research project.
The first few classes will consist of lectures from the instructor, especially intended to establish the necessary background. Thereafter, we will read and discuss research papers, especially from computer security conferences, Financial Cryptography, and the Bitcoin Research workshop, PETS, WEIS, etc.
This class is primarily intended for students who would like to conduct research on cryptocurrencies. It will also appeal to students with a casual interest in this hot topic, or who want to do research in computer security generally.
Week 1: Introduction | ||
---|---|---|
Tuesday, Aug 23 | Course introduction, syllabus, introduction to Bitcoin - [Slides] |
- Textbook: Bitcoin and Cryptocurrency Technologies [free pdf] - Systemization-of-Knowledge paper: SoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies Homework: - Read the SoK paper - Skim the list of papers in the syllabus - Log in to Piazza and post or reply to something |
Thursday, Aug 25 | Fun with applied cryptography: hashes and signatures How to use Bitcoin - [Slides] |
Reading: -Section 1.1 and 1.3 from Bitcoin and Cryptocurrency Technologies Homework: - Spend the Bitcoins in your paper wallet - Create and verify a signed message |
Week 2: More Bitcoin | ||
Aug 30 | Lecture: Bitcoin Mining, Authenticated Data Structures - [Slides] |
Reading: - Section 1.2 from Bitcoin and Cryptocurrency Technologies - Chapter 5 from the above |
Sep 1 | Lecture: Bitcoin mining and game theory - [Slides] |
Reading: -The Economics of Bitcoin Mining, or Bitcoin in the Presence of Adversaries (WEIS) -Majority is Not Enough (FC) |
Week 3: Smart Contract Programming | ||
Sep 6 | Lecture: smart contract programing and Ethereum - [Slides] |
***Smart Contract Programming Assignment announced.*** [instructions] Reading: - Ethereum Whitepaper - A Programmer’s Guide to Ethereum and Serpent |
Sep 8 | Reading: (discussion questions due 24 hrs prior) [-*-] Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab[paper] [-*-] Making Smart Contracts Smarter. [eprint] CCS 2016 |
|
Week 4: Consensus Protocols | ||
Sep 13 | Lecture: Network models and timing assumptions, two generals problem - [Slides] |
Reading: - 100 impossibility proofs for distributed computing. |
Sep 15 |
Reading: [-*-] Centrally banked cryptocurrencies. Danezis and Meiklejohn. NDSS ‘16. [-*-] Enhancing Bitcoin Security and Performance with Strong Consistency via Collective Signing (ByzCoin) 2016 |
|
Week 5: Privacy | ||
Sep 20 | Reading: [-*-] An analysis of anonymity in the bitcoin system. Reid and Harrigan. SPSN’13 [-*-] A Fistful of Bitcoins. Meiklejohn et al. IMC '13. |
|
Sep 22 | Lecture: Zero Knowledge Proofs [notes] |
Reading: [-*-] Auditable, Anonymous Electronic Cash. Sander and Ta Shma. CRYPTO '99 |
Week 6: More Privacy | ||
Sep 27 | [Slides] |
Reading: [-*-] Untraceable electronic cash. Chaum, Fiat, Naor. CRYPTO, 1988 [-*-] CoinShuffle: Practical Decentralized Coin Mixing for Bitcoin. Ruffing+. ESORICS ‘14 - how digicash blew everything - Bitcoin SF Dev's talk: Bryan Vu - A Deep Dive into CoinShuffle (youtube) |
Sep 29 | Lecture: Zerocash and Cryptonote - Zcash slides - Kevin's Guide to installing Monero |
Reading: - Zerocash: Decentralized Anonymous Payments from Bitcoin S&P '15 - CryptoNote v2.0 Nicolas van Saberhagen. 2013 **Smart contract projects are due!!** |
Week 7: Peer-to-peer networking in Bitcoin | ||
Oct 4 | Short Lecture: The Bitcoin P2P network (slides) (youtube) | Reading: [-*-] Decker, Christian, and Roger Wattenhofer. Information propagation in the bitcoin network. IEEE P2P 2013. [-*-] Two Bitcoins at the Price of One? Double-Spending Attacks on Fast Payments in Bitcoin. Karame, Androulaki, and Capkun. CCS 2012 |
Oct 6 | Demo of Bitcoin+Tor | **Project proposals due - 7 weeks to complete final project** [-*-] Bitcoin over Tor isn’t a good idea. Biryukov et al. S&P ‘15 [-*-] Eclipse attacks on Bitcoin's peer-to-peer network. Heilman et al. USENIX ‘15 |
Week 8: Crypto Protocol Applications | ||
- Oct 11 |
Reading: [-*-] A Fast and Scalable Payment network with Bitcoin Duplex micropayment channels. Decker and Watenhofer, SSS’15 [-*-] Liar, Liar, Coins on Fire! Ruffing et al. CCS ‘15 |
|
- Oct 13 |
[-*-] Secure multiparty computations on bitcoin. Andrychowicz et al. S&P’14 [-*-] How to Use Bitcoin to Design Fair Protocols. Bentov and Kumaresan. CRYPTO’14 |
|
Week 9: Security Fail | ||
Oct 18 |
Reading: [-*-] The Bitcoin Brain Drain: A Short Paper on the Use and Abuse of Bitcoin Brain Wallets. Vasek, Bonneau, et al. FC'16 [-*-] On the malleability of Bitcoin transactions BITCOIN'15 (optional) Bitcoin Transaction Malleability and MtGox |
|
Oct 20 (Andrew is gone, for NDSS Committee Meeting) | Remote guest lecture: Patrick McCorry | Reading: [-*-] Anonymous voting by two-round public discussion |
Week 10: (Andrew is gone for CCS) | ||
Oct 25 | Remote guest lecture: Ethan Heilman | Reading: [-*-] TumbleBit: An Untrusted Bitcoin-Compatible Anonymous Payment Hub |
- Oct 27 | Remote guest lecture: Joseph Chow | Reading: TBA |
Week 11: Economic measurement | ||
Nov 1 | Reading: [-*-] The bitcoin market potential index. Hileman. BITCOIN ‘15 [-*-] Beware the Middleman: Empirical Analysis of Bitcoin-Exchange. Moore and Christin. FC '13 -(optional) Competition in the Crypto-Currency Market. Gandal and Halaburda. WEIS ‘14. | |
- Nov 3 | **Project checkpoint presentations** | |
Week 12: Cryptocurrency Engineering | ||
- Nov 8 | Lecture: Governance, soft forks, hard forks (slides) |
Reading: [-*-] The invisible politics of Bitcoin: governance crisis of a decentralised infrastructure -(optional) Textbook>, Section 3.6, pages 95-98 -(optional) On Scaling Decentralized Blockchains. Croman et al. BITCOIN '16 |
- Nov 10 | Lecture: More Zero-Knowledge Proofs (code) (slides) |
Reading: - ZKPDL - Pinocchio |
Week 13: More Cryptocurrency Engineering | ||
- Nov 15 | Lecture: Sidechains and Embedded consensus | Reading: [-*-] Proofs of proofs of work with sublinear complexity. Kiayias et al. BITCOIN ‘16. |
- Nov 17: | Lecture: Multi-Party Computation (slides) | Reading: |
THANKSGIVING November 19 -28 | ||
Week 14: | ||
- Nov 29 | Reading: [-*-] Have a Snack, Pay with Bitcoins. Bamert et al. P2P '13 [-*-] BlueWallet: The Secure Bitcoin Wallet Decker and Wattenhofer. Security and Trust Management 2014. |
|
- Dec 1 | Reading: [-*-] Travelling the Silk Road. Christin. WWW ‘14. [-*-] The Ring of Gyges: Investigating the Future of Criminal Smart Contracts. CCS |
|
Week 15: Blockchain and cryptocurrency companies | ||
- Dec 6 | Reading: [-*-] the Augur whitepaper [-*-] Truthcoin |
|
- Dec 8 | (READING DAY, NO CLASS) |
|
Finals Week: Dec 9+ | ||
** Final Project Reports Due: Sunday, December 11, 11:59pm | ||
** Final Project Presntations: Thursday, December 15, 7:00pm - 9:30pm |