Fall 2022

CS294-177 · CS194-177 · MBA 237.2 · EWMBA 237.2 · MFE 230T.3

Instructors

Christine Parlour Dawn Song
Christine Parlour Dawn Song
UC Berkeley UC Berkeley

TAs

Vivek Nair

Lectures

Tuesday, 10:00 AM - 11:59 AM
438 Soda Hall

Enrollment and Participation

CS undergraduate students: please register for CS194-177.
CS graduate students: please register for CS294-177.
MBA students: please register for MBA 237.2.
EWMBA students: please register for EWMBA 237.2.
MFE students: please register for MFE 230T.3.

This is a variable-unit course. The requirements for each number of units are listed below.

MFE students can choose between the 2 and 3 credit versions. MBA/EWMBA students will all be in the 3-credit version, but MBA/EWMBA students will not be required to complete programming assignments (labs).

If you need a permission code to join the course, please fill out this form and we’ll get back to you as soon as possible.

Course syllabus

Grading

The class will have short written homework and hands-on labs. Weekly quizzes will all be of equal weight (graded on completion). In addition, 3 and 4 unit students will participate in a group project (3-5 students per group), aiming to develop new solutions or analyze existing solutions and real-world deployment in DeFi, including a significant implementation component for 4 unit students.

Note: Students enrolled in the MBA and EWMBA versions of the course will not be required to complete programming labs. The grade distribution for MBA, EWMBA, and MFE students may vary from the one shown below.

2 units

Participation25%
Quizzes25%
Assignments14%
Labs36%
3 units

Participation10%
Quizzes10%
Assignments5%
Labs15%
Project Proposal5%
… Milestone15%
… Presentation15%
… Report25%
4 units

Participation10%
Quizzes10%
Assignments5%
Labs15%
Project Proposal5%
… Milestone10%
… Presentation10%
… Report20%
… Implementation15%

Quizzes

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.

Group Project

Students will be completing an open-ended research project culminating in a presentation and a workshop-style paper submitted at the end of the semester. You will choose an area of research in DeFi that you wish to explore and are encouraged to read related papers in that area. You will then identify an area that you believe needs improvement or merits further research and build systems and/or conduct experiments to further the state of the art within your chosen field. Students are welcome to choose their own topics, but we’ll also provide a list of topic suggestions that you can take inspiration from if you wish.

Assignment Timeline

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

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.