Professional Documents
Culture Documents
Course Syllabus
Spring 2016
Course Information
Student Facilitator: Rylan Schaeffer
Contact Information: ryschaeffer@ucdavis.edu
Faculty Mentor: Karl Levitt
Contact Information: levitt@cs.ucdavis.edu
Credit: 1 unit
Grading: P/NP
Meetings: TBD
Location: TBD
Course Description
In 2008, Satoshi Nakamoto published Bitcoin: A Peer-to-Peer Electronic Cash System, detailing how cryptographic primitives and distributed consensus protocols could be combined to create an online, decentralized
payment system. Although digital currencies had long been of interest to the computer science, financial and
cypherpunk communities, Nakamotos paper sparked further research on the security, anonymity and utility
of Bitcoin and other cryptocurrencies. This course aims to teach undergraduates how cryptocurrencies like
Bitcoin are constructed, what engineering decisions were made and the corresponding trade-offs, and how
the core principles of Bitcoin can be leveraged in other areas and future pursuits.
Note: This course is heavily based on Princeton Universitys Bitcoin and Cryptocurrency Technologies
course.
Prerequisites
ECS60 or equivalent is recommended. If you have not yet taken ECS60, but are interested in the course and
are willing to spend extra time learning the background material, you are welcome to enroll.
Course Outline
1. Cryptographic Primitives And Uses
Cryptographic Hash Functions
Hash Pointers, Block Chains and Merkle Trees
Digital Signatures
Keys as Identities
2. Bitcoins Protocol
Simple Cryptocurrencies
Distributed Consensus
Flooding Algorithm
Incentives
Proof of Work (Mining)
Application-Specific Integrated Circuit (ASIC) Mining and ASIC-resistant Mining
Virtual Mining (Peercoin)
3. Engineering Details
Bitcoin Blocks
Hot and Cold Storage
Splitting and Sharing Keys
Proof of Reserve
Proof of Liabilities
4. Anonymity, Pseudonymity, Unlinkability
Statistical Attacks (Transaction Graph Analysis)
Network-layer De-anonymization
Chaums Blind Signatures
Single Mix and Mix Chains
Decentralized Mixing
Zero-Knowledge Proof Cryptocurrencies
5. Applications of Bitcoin (Note: Only some of the following will be covered)
Smart Property
Efficient micro-payments
Coupling Transactions and Payment (Interdependent Transactions)
Public Randomness Source
Prediction Markets
Escrow transactions
Green addresses
Secure Timestamping
Multi-party Lotteries