Skip to main content

Course Syllabus

This course provides a wide overview of many of the topics relating to and building upon the foundation of Bitcoin and blockchain technology.

The course is divided into 6 modules: Distributed Systems & Consensus, Cryptoeconomics & Proof-of-Stake, Enterprise Blockchain, Scalability, Anonymity, A Blockchain Powered Future.

Trust Without Trust: Distributed Systems & Consensus

Blockchain architecture is built on the foundation of decades of computer science and distributed systems literature. We start out by providing a formal definition of distributed consensus and presenting foundational theoretical computer science topics such as the CAP Theorem and the Byzantine Generals Problem. We then explore alternative consensus mechanisms to Bitcoin’s Proof-of-work, including Proof-of-Stake, voting-based consensus algorithms, and federated consensus.

Securing Incentives: Cryptoeconomics & Proof-of-Stake

We examine the meaning and properties of cryptoeconomics as it relates to its two compositional fields: cryptography and economics. We then look at the goals of cryptoeconomics with respect to distributed systems fundamentals (liveness, safety, data availability) and the griefing factors and faults in the way of these goals.

Real-World Applications: Enterprise Blockchain

We categorize the uses of blockchain and distributed ledger technologies, and look at various existing enterprise-level blockchain implementations, such as JP Morgan’s Quorum, Ripple, Tendermint, and HyperLedger. We also explore business and industry use cases for blockchain, ICOs, and the increasing regulations surrounding blockchain.

Cryptocurrencies for the Masses: Scaling Blockchain

One major obstacle to widespread blockchain adoption is the problem of scalability. We define scaling first as it relates to Bitcoin as a payment method, and compare it to more traditional forms of payment such as credit cards. We then consider the general blockchain scalability debate and look into some solutions categorized by vertical and horizontal, as well as layer 1 and layer 2 scaling. Topics include block size increases, Segregated Witness, payment channels, Lightning Network, sidechains, Plasma, sharding, and Cosmos.

The Fight for Privacy: Anonymity, Mixing & Altcoins

We look into the measures that governments have taken to regulate and control blockchain technology.  We examine Anti-Money Laundering (AML) and Know Your Customer (KYC) regulations, anonymity goals, and government techniques for deanonymization of entities on blockchain. Then from the user’s perspective, we also dive into privacy oriented altcoins and mixing techniques.

A Blockchain Powered Future

A summary of the entire Blockchain Fundamentals program and an exploratory look into blockchain ventures today, such as venture capitalism, ICOs, and crowdfunding. We conclude with a blockchain-based future thought experiment and explain the avenues for the student’s potential involvement.

Grading

There will be homeworks and quizzes dispersed throughout the course. Homeworks are intended to be interesting prompts. Quizzes are intended to be a quick, easy screen designed for you to demonstrate you completed your readings for the current week's topic. They will mainly be in the form of multiple choice questions, and you will only have a limited number of tries per question. Homeworks and quizzes will both be worth 30% of your total grade.

There will also be Quick Checks, which are multiple choice questions designed to check your understanding directly following a lecture video or reading. You will have an unlimited number of tries per question. Correct completion of all Quick Checks will be worth another 30% of your total grade.

There is also a participation grade. If you actively ask questions and contribute to discussions, you can expect a full score. Participation will be worth 10% of your total grade.

The passing grade for this course is 60%. You can keep track of your score in the "Progress" tab at the top of the course home page. The "Progress" tab will display your current percentage completion for the course, so don't expect a passing grade until the final weeks of the course. Also, for staff-graded or peer-graded homework assignments, remember that grading takes a bit of time. Thanks in advance for your patience.

Keep in mind that the purpose of this course is to learn! So as long as you put in the effort to understand the material, you do not need to worry about your grade!

Resources

CS198.1x Bitcoin and Cryptocurrencies is a prerequisite for this course. If you haven't already taken it, the course material is free for review on edX, or for verified certificate if you wish. You can enroll in both courses concurrently.

You are free to read from the following books, which are both freely distributed and available online. If you haven't taken our previous course yet, another way to catch up besides auditing the course material is to read these books.

Bitcoin and Cryptocurrency Technologies Opens in new window by Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, and Steven Goldfeder

Mastering Bitcoin Opens in new window by Andreas Antonopoulos

Also, a good unofficial resource is the Blockchain at Berkeley Public Slack, where we discuss various topics related to blockchain. You can request access to our Slack workspace at the bottom of the Blockchain at Berkeley website, under "Join Blockchain at Berkeley on Slack."

Note: the views expressed on the public slack do not reflect the views of the instructors for this course. Official course discussion should still occur on the edX discussion board.

FAQ

Q: Are there any prerequisites to this course?

A: CS198.1x Bitcoin and Cryptocurrencies (or equivalent knowledge) is a prerequisite to this course. You can review all material from the first course online for free or for a professional certificate.

Q: If this is a computer science course, why are there no programming assignments?

A: There are many answers to this question. Firstly, computer science is not programming, and especially for this course, we’re operating at a higher level of thinking. We’ll be designing systems from the ground up rather than being “stuck in the code.” Additionally, to keep the material open and accessible to students of all backgrounds, we have designed the course to focus on fundamental blockchain thinking. 

It is, however, important to get your hands dirty and understand how blockchain systems are actually built. If you are interested, we have a separate curriculum, Blockchain for Developers, which we plan to port over to edX in the near future. Recordings from our latest offering (Spring 2018) can be found online for free at https://learnblockcha.in/

Q: Who is Blockchain at Berkeley?

A: Blockchain at Berkeley is a student organization on the UC Berkeley Campus, dedicated to serving the crypto and blockchain communities. Our members include Berkeley students, alumni, community members, and blockchain enthusiasts from all educational and industrial backgrounds.