Dan Boneh Arthur Gervais Andrew Miller Christine Parlour Dawn Song
Dan Boneh Arthur Gervais Andrew Miller Christine Parlour Dawn Song
Stanford Imperial College London UIUC UC Berkeley UC Berkeley

Volunteer Teaching Assistant

Kaihua Qin, Liyi Zhou


Lectures: Online, Pre-Recorded (Asynchronous)

Guest Speaker AMAs: Tuesday, 10:00 AM - 11:59 AM
Online (Zoom) or 438 Soda Hall

Syllabus (subject to change)

Course Work


All quizzes are released in parallel with (or shortly after) the corresponding lecture and will be due midnight the following Wednesday. Please remember to complete the quiz each week. Although it’s graded on completion, we encourage you to do your best. The questions are all multiple-choice and there are usually at most 5 per quiz.


Labs 1 and 2 have been released and are available on GitHub here: If you clone the GitHub repository, please ensure your code remains private. You are expected to complete this lab on an individual basis (not in groups), but can have conceptual discussions with your peers as long as no code is shared. Students in the Haas version of the course are encouraged, but not required, to attempt the labs.

In this exercise, you are expected to implement a smart contract that performs a flash loan and liquidation. For more details, please read through the file in the GitHub repository. Lab 1 is simply a checkpoint on the way to the full contract implementation to ensure that students have their development environment up and running by early next week. The majority of your lab grade will come from your performance in Lab 2.

By November 14th, you should submit a single LiquidationOperator.sol file that successfully performs a Uniswap flash loan (“Lab 1”). Your score out of 5 possible points will be determined like so:

Then, by November 21st, complete and submit the full implementation (“Lab 2”). Your submission should be a single LiquidationOperator.sol file, and your score out of 15 possible points will be determined by the actual profit you earn in the test case.

Assignment Timeline

Assignment Released Deadline
Group formation 8/30 9/12
Project proposal 9/13 10/03
Assignment 1 (Link) 10/04 10/10
Assignment 2 (Link) 10/18 10/24 11/07
Project milestone 10/25 10/31
Lab 1 (Github) (Submission) 11/01 11/07 11/14
Lab 2 (Github) (Submission) 11/08 11/21
Project presentation 11/22 12/05
Project final report 12/06 12/12

Course Completion NFTs

We will distribute NFTs for completion of the course. Below are the rules for different tiers (subject to change):

Honorary Tier: Instructors, guest speakers, fireside chat speakers, TAs, and the most supportive students who help others on Discord and YouTube will be rewarded with special NFTs.

Legendary Tier: Students must:

Ninja Tier: Students must:

Trailblazer Tier:

Course Description

The purpose of this class is to bring together students and interdisciplinary experts in Computer Science and Finance to discuss the emerging area of Decentralized Finance (or DeFi). DeFi has experienced an unprecedented growth, with hundreds of projects and a countless stream of financial, distributed systems, and blockchain innovations. The total value locked (TVL) in decentralized finance — a measure of the total value of assets committed to the DeFi ecosystem — has reached over $80 billion. When compared to the traditional centralized finance (CeFi), DeFi offers products and services serving similar financial goals, but critically innovates with novel capabilities such as instantaneous multi-billion USD flash loans. By utilizing blockchain and smart contract technologies, DeFi as a whole aims to provide a new platform for programmable, automated finance services that remove the reliance on central trust and intermediaries.

Our goal is to provide a framework to understand this new area of financial services. For each finance function, we will consider 1) the current intermediated structure, and then b) the DeFi version (actual or proposed) that fulfills the function. Is either one of these optimal? We will evaluate both through the lens of CS and finance. Is the application computable (efficiency, decidable), programmable (automatic)? Is the application welfare-enhancing and stable (not a source of systemic risk). How do the new and old systems interact? We aim for the students to be able to critically evaluate whether a new DeFi protocol is novel and practical. We further will capture the security danger in DeFi, as well as their impact on the underlying consensus security. Lastly, we hope to give an insight into how to program and structure secure and incentive-compatible DeFi applications.

Through the exposure to cutting-edge research as well as remaining open challenges, we hope for our students to quickly integrate into academic as well as industrial projects related to DeFi.

Summarizing, we will cover a broad spectrum of topics, including:

  1. A comprehensive introduction covering a computer science and finance background required for the remainder of the course. We will discuss the basics of decentralized systems, permissionless blockchains, consensus, smart contracts and contrast DeFi to traditional finance.

  2. We will cover the computer science and economic aspects of DeFi assets, and how they link to CeFi through stablecoins. The course will elaborate on DeFi asset exchanges and contrast the traditional limit order book models to automated market makers. Just like in CeFi, debt and derivatives play a fundamental role in DeFi. We’ll dive into the various debt models, such as under- and over-collateralized debt, as well as synthetic assets in DeFi. Insurances, portfolio management and prediction markets form equally crucial elements to a decentralised economy as we will elaborate on. Last but not least, we will show different attempts at measuring and tracking systemic risk and its computability.

  3. To link blockchains with financial information from the real-world, we will provide a deep-dive into oracles. We will discuss decentralized reputation, identities and proof of properties. Because most DeFi is transparently readable, including transaction amounts, fees, dates/times, etc, privacy plays an increasingly important role in DeFi. We will cover various privacy technologies including zero-knowledge proofs and their applications in DeFi. We will also discuss various attempts at how to enforce data ownership, data monetization and valuation as well as controlled use and misuse of data.

  4. A digital economy would not thrive without strong security. We will outline the many past security attacks, introspect a few of them in closer detail and provide recommendations on how to strengthen DeFi security. We will discuss the systemic risks stemming from Miner Extractable Value (MEV) and how MEV can be minimized by design. Decentralized governance provides power to a pseudonymous collective, and we will explore how governance works, and how it may be attacked.