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: Saturday 2-4pm
Location: Hearst Mining 390
Course Staff: Nadir Akhtar, Gillian Chu, Brian Ho, Sara Reynolds
Discussion Leaders: Noah Alcus, Jason Bi, Derrick Li, Gloria Wang, Ashwinee Panda
Class Format: 1.5 hours of lecture per week, 1 hour of discussion per week
Communication: All of the necessary communication for this course will be done through Piazza. Weekly homework assignments will be distributed after class, along with the lecture slides.
Prerequisites: This course have no formal prerequisites. However, blockchain is very technical in nature, so coming into this course with knowledge of computer science or cryptography will be extremely helpful, although not required. If you have any concerns about the nature of this course, do not hesitate to reach out to the facilitators.
Class Entry Policy: By permission code. Students are required to (1) attend the first lecture and (2) fill out the discussion preference form to receive a discussion assignment. Students who attend their assigned discussion section in the first week of school are given a permission code and course number to enroll with.


Grading: P/NP. You must get at least a 70% to pass the class - to be clear, a lower score equates to a No Pass. Grading will be based on Homework and Quizzes (30%), Attendance (30%), a Final Paper (30%) and Participation (10%). There will be assigned readings each week, which you should complete in order to do well. If you have any questions regarding grades, email your discussion leader.
Homework and Quizzes (30%): There will be homeworks and quizzes dispersed throughout the course and will be weighted equally. Quizzes will be given during the first 5 minutes of class. Homework will be released after Saturday evening after lecture and will be due the following Saturday at 11:59 pm.
Homework: Homeworks are intended to be interesting prompts. For example, in addition to the occasional write-up, we may have you write your name on the blockchain, or dig up a transaction originating from Silk Road, or comment on Piazza with a paragraph arguing for or against the scalability debate.
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. We will administer quizzes on random weeks. They will be in the form of 6 multiple choice questions and administered in the first 5 minutes of class. You only have to get 4 of the 6 questions right to get a full score.
Attendance (30%): We will take attendance at the beginning of every class. Please go to only your ASSIGNED discussion section. No, you may not switch discussion sections, as we decide sections based on your availability in the beginning of the semester and have limited class sizes. If you are expecting an academic conflict such as a midterm, or have a medical/family emergency, please let your discussion leader know at least 24 hours in advance. We expect excused absences to be rare; we grant you 2 unexcused lecture absences and 2 unexcused discussion absences without grade penalty.
Final Paper (30%): 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. Submitting a final paper is required to pass the class.
Participation (10%): If you actively pay attention and ask questions/contribute in 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




Bitcoin Protocol and Consensus: A High Level Overview


Join the Piazza. Click here .
Choose a random current events article from CoinDesk to share in discussion.


Bitcoin and Blockchain History: From the Cypherpunk Movement to JPMorgan Chase


A Cypherpunk’s Manifesto by Eric Hughes
Coindesk: A Bot Named Willy: Did Mt. Gox's Automated Trading Pump Bitcoin's Price?
The DAO, The Hack, The Soft Fork and The Hard Fork
(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


Bitcoin Mechanics and Optimizations: A Technical Overview

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
Write about one of the two prompts:
- Rock-Paper-Scissors commitment scheme
- Pay-to-Script-Hash (P2SH) vs Pay-to-Pub-Key-Hash (P2PKH)
Due by Saturday, February 17th at 11:59pm


Bitcoin IRL: Wallets, Mining, and More

Homework 2
Argue! Debate on one of two topics:
- ASIC-Resistance
- Who controls Bitcoin (if anyone)
Due by Saturday, February 25th at 11:59pm


Ethereum and Smart Contracts: Enabling a Decentralized Future

Homework 3
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 Saturday, March 3rd at 11:59pm


Game 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
Homework 4
Propose or research a Bitcoin attack (either original or unmentioned in lecture) and argue why it works or why it doesn't work. If it does, explain in detail on how to carry it out. If it doesn't, provide a defense for your attack!
Due by Saturday, March 10th at 11:59pm


Cryptoeconomics and Proof-of-Stake

Homework 5
Take a side: Proof-of-Work or Proof-of-Stake! Discuss which of the two you prefer and come tell us why! Or if you have some other alternative consensus mechanism you know about, feel free to share why you like that! Here are some questions that you might want to answer: What are some advantages/disadvantages of the consensus protocol that you chose? What cryptocurrencies/altcoins use it? How is different from other consensus protocols that we talked about?
Due by Saturday, March 17th at 11:59pm


Distributed Systems and Alternative Consensus

Homework 6
Analyze: Take one of the scaling solutions that we discussed in lecture on March 24th or find a scaling solution that wasn't discussed online and analyze the pros and cons of the solution. Feel free to start whenever: before lecture, during break, or after break.
NOTE: This homework will be due the week AFTER we get back from Spring Break, but it is somewhat contingent on the fact that you did watch the lecture/webcast on Scaling Blockchain (sometime during break or after you get back).
Due by Saturday, April 7th at 11:59pm


Scaling Blockchain: Cryptocurrencies for the Masses



Spring Break

Spring Break

Spring Break


Anonymity: Mixing and Altcoins

Final Paper
Prompt: Design your own cryptocurrency or blockchain platform and justify your design decisions, OR analyze the properties of an existing cryptocurrency or blockchain platform. Details can be found here: Blockchain Fundamentals Final Paper Prompt
Due by Wednesday, May 2nd at 11:59pm


Cal Day

Cal Day

Cal Day


Conclusion: Cool Ideas, Blockchain Hype, and the Future