Courses

Spring 2017 Fundamentals Decal

About

The Cryptocurrency Decal is a comprehensive survey of relevant topics in cryptocurrency and the wider blockchain space. From a technological standpoint, we start with the basics of cryptography and economics, establish a solid fundamental understanding of Bitcoin by building it from the bottom up, and from there, explore the myriad of ideas and technologies relating to blockchain technology. On the non-technical side, we start with the history of digital currency, then look at the laws, organizations, trends, and communities behind it to build a complete picture of the ecosystem surrounding blockchain technology.

Goal

Many people find it difficult to understand cryptocurrency because cryptocurrencies require the coordination of many components for it to function, and it’s hard to see the full picture until all the individual components are fully understood. Furthermore, since the field is very technical and relatively new, cryptocurrency-related discussion by nature is full of jargon. Therefore, it is easy to get lost trying to follow nearly any conversation on cryptocurrency if you have not built up the right background.

Therefore, the goal of this course is to surmount the steep learning curve of cryptocurrency. By the end of this course you will understand how cryptocurrencies work and the ideas, technologies, and organizations sprouting from it.

Logistics

Units: 2
Day and Time: Section 1: Wed 4-5pm, Section 2: Fri 3-4pm
Location: Moffit 150D for Wednesday sections, Moffit 145 for Friday sections
Course Staff: Max Fang, Philip Hayes, Sunny Aggarwal
Class Format: 1 hour a week. 30-45 minutes of the class will be lecture, and the rest will be dedicated to questions, discussion, and announcements.
Communication: All of the necessary communication for this course will be done through email. Weekly homework assignments will be distributed after class, along with the lecture slides. We will also have an optional Facebook group to allow for further questions and discussion.
Prerequisites: This course have no formal prerequisites. However, cryptocurrency is very technical in nature, so coming into this course with knowledge of computer science or cryptography will be extremely helpful, although not required. To do well – we recommend having already taken or taking CS61A concurrently. If you have any concerns about the nature of this course, do not hesitate to reach out to the facilitators.
Class Entry Policy: After applying, the facilitators will update you with your enrollment status (accepted or waitlist) as soon as it changes. Entering our class is dependent on obtaining a course entry code. If you are accepted, we will email you your code and you must enroll in the class within three days or the code will be considered invalid. We will also be enforcing a mandatory attendance policy for the first two classes—you will be dropped if you miss either of these two classes. Additionally, because the first two weeks of lecture are instrumental in building a concrete understanding of cryptocurrency, waitlisted students that have attended the first two weeks of classes will be strongly preferred.

Grading

Grading: P/NP. You must get at least a 70% to pass the class. Grading will be based on Homework and Quizzes (30%), Attendance (40%), a Final Paper (20%) and Participation (10%). There will also be assigned readings each week. If you have any questions regarding our grading, feel free to bring it up in class.
Homework and Quizzes (30%): There will be homeworks and quizzes dispersed throughout the course and will be weighted equally. Quizzes will be done in the first 5 minutes of class. Homework will be released after the Friday section by Saturday morning and will be due the following Friday at 4 pm.
Homework: The homework assignments are designed to give you some hands-on exposure to the topics we just covered in class. They are straightforward and should not take much longer than an hour. Assignments on the previous week’s topic are due at the beginning of class, and may be turned in as a hard copy or emailed to facilitators. You are allowed to miss one homework assignment without having it affect your grade.General format: Split your paper into two sections. In the first section, we will prompt you to explain 1-3 key concepts from class and/or your readings. In the second section, we will prompt you with something that applies the knowledge from class to the real world.
Quizzes: Quizzes are intended to be a quick, easy screen designed for you to demonstrate that you completed your readings for the current week’s topic. They will be in the form of 5 multiple choice questions and administered in the first 5 minutes of class. You only have to get 4 of the questions right to get 100. Every quiz will also have one bonus question from the optional reading. So, in fact, you only need to get a 4/6 on a quiz to get 100 on it!
Attendance (40%): We will take attendance at the beginning of every class. You are allowed to miss one class without having it affect your grade. If you are expecting an academic conflict such as a midterm, please let your facilitator know at least 24 hours in advance, and we will work out an alternative assignment with you.
Final Paper (20%): All students will be required to write a 3-4 page final paper on a topic of their choice relating to the cryptocurrency and blockchain fields. This could relate to a topic covered explicitly in class or something else related to cryptocurrencies. All topics must be pre-approved at least 2 weeks before the due day of the paper.
Participation (10%): If you actively pay attention and occasionally ask questions/ contribute to discussion, you can expect a full score. Don’t stress out over this.
You may find full details in our syllabus here. 

Resources

Textbooks: You are free to read from these books, which are both freely distributed and available online. Please do NOT go out and buy them. Some readings may be pulled from these books during the course.

Bitcoin and Cryptocurrency Technologies (Princeton textbook) by Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, and Steven Goldfeder:
https://d28rh4a8wq0iu5.cloudfront.net/bitcointech/readings/princeton_bitcoin_book.pdf

(Optional/Additional) Mastering Bitcoin by Andreas Antonopoulos:
PDF: https://drive.google.com/file/d/0B8lgcDXI8hEfbXFYcTh6aXNqRkk/view?usp=sharing
Source: https://github.com/bitcoinbook/bitcoinbook

WEEKTOPICREADINGSHOMEWORK
1/25History: From the Cypherpunk Movement to JPMorgan Chase

[LECPPT]
How Bitcoin Works in 5 minutes (Video)
Bitcoin Developer Guide (up to but not including "P2PKH Script Validation")
(Optional) The Willy Report
(Optional) Excerpt from Digital Gold on early Bitcoin development
(Optional) The Silk Road: Deep Dive
Join the Piazza. Click here for instructions
2/1Protocol and Consensus: A High Level Overview

[LECPPT]
Bitcoin Wallets Explained
Bitcoin Multisig Wallet: The Future of Bitcoin
Princeton Textbook Ch 1
What is a Bitcoin Hardware Wallet?
(Optional) Vanity Bitcoin Addresses
Practice using a blockchain explorer! Click here for instructions.
2/8Storing Cryptocurrencies: Cryptography and Wallets

[LECPPT]
Princeton Textbook Sections 5.1, 5.2, 5.3The homework instructions are here
2/15Bitcoin Mechanics and Optimizations

[LECPPT]
On Public and Private Blockchains
On Worldwide Consensus
Adventures in Galactic Consensus
(Optional) A provably secure Proof-of-Stake Protocol
Get free money by filling out this form
2/22Cryptocurrency Mining: Proof-of-Work Consensus

[LECPPT]
Bitcoin Hash Functions
Proof-of-work dice analogy
Proof-of-Storage explanation from Greg Maxwell (just the first post)
Princeton Chapter 2.1 - 2.3
Argue! Either post on the Piazza thread or make a private post for or against proof-of-work or ASICs. One or the other. (If you argue against proof-of-work, argue an alternative form of consensus, perhaps from your readings.) Strongest and most intriguing argument for each gets a quiz pass!
3/1Game Theory & Network Attacks: How to Destroy Bitcoin

[LECPPT]
The Ethereum Whitepaper
Read all sections under "Ethereum".
Read "Fees", "Computation and Turing-Completeness" under "Miscellanea and Concerns".
Read "Conclusion".
(Optional) Read "Scripting" and remaining sections under "Miscellanea and Concerns".
(Optional) Ethereum White paper too casual or hand-wavy for you? Try the Ethereum Yellow Paper instead. For brave souls only.
Homework 6
3/8Ethereum & Smart Contracts: Enabling a Decentralized Future

[LECPPT]
Alternative Consensus
Hyperledger Fabric
(Optional) Corda White Paper
This week's homework description is here
3/15Alternative Consensus & Enterprise Blockchain

[LECPPT]
Lightning Networks Summary
2017 and Scalability Debate
(Optional) Lightning Network Talk
In class quiz
3/29Scaling Bitcoin: Cryptocurrencies for the Masses

[LECPPT]
Post Obama-era Blockchain Regulation
Bit License 2.0
Anti Money Laundering
Argue! Again! Either post on the Piazza thread or make a private post explaining your thoughts on the scalability debate.
4/5Regulation and Anonymity

[LECPPT]
Monero
Cypherpunk Desert Bus:My role in 2016 Zcash Trusted Setup Ceremony by Peter Todd
(Optional) Coin Swap Protocol
(Optional) Zcash Technology Page
Fill out mid-semester survey!
4/12The Fight for Privacy: Anonymization Techniques, Protocols, and Altcoins

[LECPPT]
No Readings!Take home quiz
4/19Advanced Topics in Cryptocurrencies

[LECPPT]
No Readings!Final Paper
4/26Conclusion: Cool Ideas, Blockchain Hype, and the Future

[LECPPT]