Instructor:
Prof. Mohammad Sadoghi [[email protected]]
Teaching Fellow:
Suyash Gupta [[email protected]]
Lecture: Tuesdays, Thursdays 4:40 - 6:00 PM (Remote)
Discussion: Fridays 1:10 - 2:00 PM (Remote)
Office Hours: Thursdays 3:00-4:30pm (Remote)
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):- Final Project: 90%
- Class Participation: 10%
Textbooks
Essential: (all freely available when accessed from UCD network)- Fault-tolerant Distributed Transactions on Blockchain. 1st Edition. Suyash Gupta, Jelle Hellings and Mohammad Sadoghi. Morgan & Claypool Synthesis Lectures on Data Management. 2021
- Transaction Processing on Modern Hardware. 1st Edition. Mohammad Sadoghi and Spyros Blanas. Morgan & Claypool Synthesis Lectures on Data Management. 2019.
- Principles of Distributed Database Systems. 4th Edition. Tamer Oszu and Patrick Valduriez. Prentice Hall. 2020.
- 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, Bitcoin Radio, Code, Hands-on, Wiki.
- Readings in Database Systems. 5th Edition. Joseph M. Hellerstein, Michael Stonebraker. 2015
- The Elements of Style. 4th Edition. William Strunk Jr. and E. B. White. 1999
- Style: Toward Clarity and Grace. Joseph M. Williams. 1995
- Creating beautiful presentations. Ryan Johnson. University of Toronto.
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, and the role and contributions of each group member must be clearly articulated. All projects must be approved and supervised by the instructor. The outcome of the final project will consist of (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), or developing novel applications for blockchain; (2) writing a grant proposal for startup seed funding or a short research paper with the goal of submitting to a top-tier conference, of course, the actual submission is optional and does not affect your final grade. All project-related reports must be written in LaTex using ACM templates.
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 rely on Slack. Please contact the TAs to add you to our Slack channel: ECS189F Slack.
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.