Welcome to ECS 189F

Introduction to Distributed Ledgers

Instructor: Prof. Mohammad Sadoghi [[email protected]]
Teaching Fellow: Dakai Kang [[email protected]]

Lecture: Monday, Wednesday, Friday   5:10 - 6:00 PM  
Lecture Location: Veihmeyer Hall 212
Instructor Office Hours (Zoom): Fridays 3:00-5:00pm  
TA Office Hours (Zoom): Thursdays 3:00-5:00pm


A unique open-source blockchain course created in partnership with Blockchain Acceleration Foundation and Blockchain at Davis that offers (1) introduction to concepts of distributed transactions and (2) overview of emerging blockchain fabrics and ecosystems.


This project-based course will cover the foundations of distributed ledger technologies covering topics such as distributed transaction processing, resilient consensus protocols, consistency models, secure storage architecture, blockchain technologies, smart contracts, blockchains digital assets and payment systems, and recent developments in the blockchain industry.

  • Introduction to Transactions
  • Introduction to Distributed Consensus
  • Introduction Blockchains and Bitcoin
  • Foundations of Ethereum, Permissionless Fabric
  • Developing Decentralized Applications
  • Foundations of Hyperledger, Permissioned Fabric
  • Hyperledger Ecosystem Overview
  • Blockchain in Academia: ResilientDB
  • Sharding in Blockchain
  • Blockchain Applications: Agriculture, Healthcare, Energy, and Logistics
  • Bridging Public & Private Blockchains
  • Public Blockchain Protocol Participation
  • Blockchain Trilemma
  • Introduction Decentralized Governance & Voting Systems
  • Stablecoins and Payments
  • The State of Decentralized Finance


The final grade will be based upon the following components (all submissions are due at midnight):


Essential: (majority are freely available when accessed from UCD network) ResilientDB Resources:
  • Research Paper - ResilientDB: Global Scale Resilient Blockchain Fabric. S. Gupta, S. Rahnama, J. Hellings, M. Sadoghi. PVLDB 2020. [Paper, Slides, Video]
  • Demo Paper - Scalable, Resilient and Configurable Permissioned Blockchain Fabric. S. Rahnama, S. Gupta, T. Qadah, J. Hellings, M. Sadoghi. PVLDB 2020. [Paper, Slides, Video]
  • Tutorial - Building High Throughput Permissioned Blockchain Fabrics: Challenges and Opportunities. S. Gupta, S. Rahnama, J. Hellings, Mohammad Sadoghi. PVLDB 2020. [Paper, Slides: Theory | System, Video]
  • Architecture - Permissioned Blockchain Through the Looking Glass: Architectural and Implementation Lessons Learned. S. Gupta, S. Rahnama, Mohammad Sadoghi. ICDCS 2020. [Preprint, Slides, Video]
  • Others - ResilientDB Fabric Website, Journey, Vision/Slides, Podcast, Bitcoin Radio, Code, Blog.

Fork Star


The most important component of the course is a quarter-long creative project on topics broadly related to distributed transactions, consensus protocols, and distributed ledgers (blockchain fabrics such as ResilientDB). The project must be done in groups of five students, and the role and contributions of each group member must be clearly articulated. The outcome of the final project will consist of the following. (1) Designing novel consensus protocols; benchmarking and studying existing consensus protocols; developing novel techniques or architectures to improve the performance of a blockchain fabric (e.g., sharding, cross-chain, hybrid protocols); or developing novel applications for blockchain (e.g., DeFi applications). (2) Writing a grant proposal for startup seed funding or a short research paper with the ultimate goal of submitting to a top-tier conference, of course, submission is optional and does not affect your final grade. All project reports must be written in LaTex using ACM templates or in a form of detailed and accessible blog or professional website (e.g., Blog, CryptoLunch, Resilient Record). All projects must be approved and supervised by the instructor and all projects must utilize ResilientDB Fabric unless prior approval of the instructor is granted.


For communication with the instructor, please use email [[email protected]] and not Canvas. The instructor will not check/reply to Canvas messages. For group communication (monitored by TAs) and other students, we will utilize ResilientDB's Discord Channel.

Course Policy

In this class, we adopt the UC Davis Code of Academic Conduct available here. In addition, late submission will result in a 10% penalty for each day late. Students are strongly advised that any act of cheating will result in a score of 0 for the entire milestone (or the course) and offenses will be reported to the Office of the Dean of Students. You are encouraged to discuss problems and ideas but the final solution or code must be your own. In the event of a major campus emergency, course requirements, deadlines, and grading percentages are subject to changes that may be necessitated by a revised quarter calendar. If such unusual circumstances arise, students may determine any such changes by contacting the instructor.


Course materials/grades will be made available on your  Canvas account.