Fall 2017 Fundamentals Decal


The Blockchain Fundamentals 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, then 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.


Many people find it difficult to understand cryptocurrencies and blockchain, the product of coordination between many complex components; and it’s hard to see the full picture until all the individual components are fully understood. Furthermore, since the field is 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 crypto/blockchain if you have not built up the right background.

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.

Units: 2
Day and Times: (LEC 1): Tuesday 2-3pm, (LEC 2): Tuesday 5-6pm
Location: (LEC 1): Soda 306, (LEC 2): Moffitt 145
Course Staff: Nadir Akhtar, Aparna Krishnan, Gloria Zhao, Rustie Lin
Discussion Leaders: Cliff Ahn, Gillian Chu, Griffin Haskins, Brian Ho, Alexandra Tran
Class Format: 1 hour a week lecture, 1 hour a week discussion.
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, which will be given out after the second week. If you are accepted and attend the first two lectures, 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: 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.
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:

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

9/5Protocol and Consensus: A High Level Overview

Excerpt from Digital Gold
How Bitcoin Works in 5 Minutes (Non-Technical)
Choose a random current events article from CoinDesk to share in discussion.
(Optional) The Silk Road
(Optional) The Bitcoin Whitepaper
(Optional) Bitcoin Developer Guide (up to but not including “P2PKH Script Validation”)
(Optional) How Bitcoin Works in 5 Minutes (Technical)
Join the Piazza. Click here.
9/12Bitcoin History

A Cypherpunk’s Manifesto by Eric Hughes
Coindesk: A Bot Named Willy: Did Mt. Gox's Automated Trading Pump Bitcoin's Price?
(Optional, to Get Ahead) Princeton Textbook 1.1 Cryptographic Hash Functions (pages 23-31)
(Optional) All You Need to Know About ICOs
(Optional) Digital Gold by Nathaniel Popper
9/19Bitcoin Mechanics and Optimizations

Information on Double Hashing
Princeton Textbook 5.1-5.4 (pg. 131 - 157)
How to Choose the Best Wallet for You
(Optional) Bitcoin Developer Guide (There's a lot; don't try to read it all in one day)
(Optional) Bitcoin Hash Puzzles Explained
(Optional) Secure Hash Standard (Insane math: a blessing or curse depending on your preference)
Homework 1
9/26Bitcoin IRL: Walllets, Mining, and More

ViaBTC Rises: How A Mysterious Miner Could Decide Bitcoin's Future
Antbleed: Bitcoin's Newest New Controversy Explained
Ethereum Whitepaper up to "Miscellanea...
(Optional) Time stamped chatlog: Why Jihan and Jiang want to block segwit at all cost
(Optional) Bitcoin Hash Rate vs Difficulty(play around with different variables!)
Argue! Debate on one of two topics (check Piazza for submission instructions):
- ASIC-Resistance
- Who controls Bitcoin (if anyone)
10/3Ethereum and Smart Contracts: Enabling a Decentralized Future

Finish reading the Ethereum Whitepaper (after "Miscellenea and Concerns")
Selfish Mining
(Optional) See a cool Ethereum application
(Optional) Ethereum Yello Paper
Fill out the feedback form (worth homework points).
Homework 2: Come up with a dApp (decentralized app) idea or blockchain use case! Try to be as creative and specific as possible, and justify the use of a blockchain. Due by next Monday, October 9 at 11:59pm here
10/10Game Theory and Network Attacks: How to Destroy Bitcoin

Princeton Textbook Ch 8.5 Proof-of-Stake and Virtual Mining
A Proof of Stake Design Philosophy
Two Options:
Partner project: One partner comes up with an attack, and the other comes up with a defense
Deep Dive! Alex is hosting an Alternative Consensus (with focus on Proof-of-Stake) Deep Dive this Saturday from 12-4 PM in HP Auditorium. Event
10/17Cryptoeconomics and Proof-of-Stake

Short Overview of Alternatives of PoW
Stellar Consensus Protocol Overview
CAP Theorem Overview
Raft Overview
10/24Alternative Consensus Mechanisms

Short Overview of Alternatives of PoW
Stellar Consensus Protocol Overview
CAP Theorem Overview
Raft Overview
Adventures in Galactic Consensus
10/31Enterprise Blockchain: Real-World Applications

11/7Scaling Blockchain: Cryptocurrencies for the Masses

(Optional) Cash Trusted Ceremony Setup
Find one scaling solution online that we didn't cover in lecture and analyze the pros and cons of the solution (at least 5 each). Submit your homework here by next Tuesday, 11:59 PM on 11/14.
11/14Anonymity: Mixing and Altcoins

Final Paper (due 12/1)
11/21Advanced Topics: The People's Pick

11/28Conclusion: Cool Ideas, Blockchain Hype, and the Future