Welcome to ECS 189F

Introduction to Distributed Ledgers

2024

Instructor: Prof. Mohammad Sadoghi [[email protected]]
Teaching Fellow: Apratim Shukla [[email protected]]

Lecture: Monday, Wednesday, Friday   4:10 - 5:00 PM  
Lecture Location: Olson Hall 147
Instructor Office Hours (Zoom): Thursdays 3:00-5:00pm (by appointment)  
TA Office Hours (Zoom): Tuesdays 3:00-5:00pm


Objectives

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.


Description

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

Grading

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

Textbooks

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]
  • Dissecting BFT Consensus: In Trusted Components we Trust! S. Gupta, S. Rahnama, S. Pandey, N. Crooks, Mohammad Sadoghi. EuroSys 2023. [Preprint]
  • ByShard: sharding in a Byzantine environment. J. Hellings, Mohammad Sadoghi. VLDB J. 32(6): 1343-1367 (2023). [Paper]
  • RingBFT: Resilient Consensus over Sharded Ring Topology. S. Rahnama, S. Gupta, R. Sogani, D. Krishnan, Mohammad Sadoghi. EDBT 2022. [Preprint]
  • Chemistry behind Agreement. S. Gupta, M. Amiri, Mohammad Sadoghi. CIDR 2023. [Paper]
  • The Bedrock of Byzantine Fault Tolerance: A Unified Platform for BFT Protocols Analysis, Implementation, and Experimentation. M. Amiri, C. Wu, D. Agrawal, A. Abbadi, B. Loo, Mohammad Sadoghi. NSDI 2024. [Paper, Video]
  • Others - ResilientDB Fabric Website, Journey, Vision/Slides, Podcast, Bitcoin Radio, Code, Blog.

Fork Star
Optional:

Workload

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.

All students are required to attend every lecture and ask insightful questions. Additionally, in order to encourage class participation, there will be short and exciting pop quizzes. The lowest quiz score will be dropped, but there will be no opportunity for makeup quizzes. We expect to have 3-6 quizzes spread throughout the quarter.

Communication

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.


Handouts

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