Textbooks:
Required:
(all freely available when accessed from UCD network)
- Fault-tolerant Distributed Transactions on Blockchain. [Flyer, eBook/Print]
S. Gupta, J. Hellings, and Mohammad Sadoghi.
Morgan & Claypool Synthesis Lectures on Data Management. 2021.
- Transaction Processing on Modern Hardware. [Flyer, eBook/Print]
Mohammad Sadoghi, S. Blanas.
Morgan & Claypool Synthesis Lectures on Data Management. 2019.
-
The Bedrock of BFT: A Unified Platform for BFT Protocol Design and Implementation. arXiv'22.
Mohammad Javad Amiri, Chenyuan Wu, Divyakant Agrawal, Amr El Abbadi, Boon Thau Loo, Mohammad Sadoghi
-
Principles of Distributed Database Systems. 4th Edition.
Tamer Oszu and Patrick Valduriez. Prentice Hall. 2020.
-
Creating beautiful presentations. Ryan Johnson. University of Toronto.
-
Required readings will be based on a selection of research papers listed here.
ResilientDB Resources:
- Research Paper - ResilientDB: Global Scale Resilient Blockchain Fabric.
S. Gupta, S. Rahnama, J. Hellings, M. Sadoghi. PVLDB 2020.
[Paper, Slides, Video]
- Research Paper - RingBFT: Resilient Consensus over Sharded Ring Topology.
S. Rahnama, S. Gupta, R. Sogani, D. Krishnan, M. Sadoghi. EDBT 2022.
[Paper]
- 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,
Blog,
Wiki.
Optional:
-
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
Project Description:
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). The project must be done in groups
*
(up to five students), 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 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
[
ResilientDB Fabric,
Codebase,
Hands-on Tutorial,
Blog,
Wiki]);
or developing novel applications for blockchain (e.g., DeFi applications with
[
Radix DeFi Engine,
Overview of Scrypto Smart Contracts, and
Scrypto Documentation])
(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 related-reports must be written in LaTex using
ACM templates
or in a form a detailed and accessible blog or professional website
(e.g.,
Blog,
CryptoLunch,
Resilient Record).
Grant Proposal Track
Whether you choose the grant proposal or research paper route, there needs to be a proof-of-concept
prototype of your ideas in order to demonstrate
feasibility or
effectiveness. For the
grant proposal track,
we will adopt the well-known
Small Business Innovation Research (SBIR)
program that fosters commercialization of research ideas by small businesses. SBIR project
description template can be found
here.
Research Track
For the research track, we adopt standard conference-style paper such as
(
PVLDB or
SIGMOD).
An example of a well-written blockchain research paper would be
ResilientDB, and
many more examples can be found in our
ECS265 course.
Research Paper
A research paper (and/or presentation slides) would consist of the following key components
- Motivation (why this problem is important and interesting)
- Gap (what are the challenges and what are the shortcomings of the most relevant work)
- Problem statement
- Key intuitions behind your proposed approach and sketch of the solution in a top-down approach
- Key benefits of your proposed approach
- Overall architecture/design of your solution
- Details of your solution
- Analytical correctness and complexity results
- Implementation Details
- Evaluation methodology and plans (competing algorithms, datasets, platforms, etc.)
- Empirical results (e.g., latency, throughput, precision, recall, f-measure, etc.)
- List of contributions and their importance (both scientific and technical contributions)
- Conclusions
- Future Directions/Next Steps
Benchmarking Paper
A benchmarking paper (and/or presentation slides) would consist of the following key components
- Motivation (why this problem is important and interesting)
- Gap (what are the challenges and what are the shortcomings of the most relevant benchmarking work)
- Problem statement
- A brief survey/discussion of relevant approaches/systems
- Justification for choosing these approaches/systems
- Evaluation Methodology:
machines/cluster requirements & setup,
single-node and multi-nodes configurations
in-memory vs. disk-based approaches,
selected systems/engines,
data workloads (synthetic data and/or real data),
query workloads,
types of experiments.
- List of your contributions and their importance (both scientific and technical contributions)
- Conclusions
- Future Directions/Next Steps
Weekly Progress Meetings:
It is important that tangible progress is made every week. Progress
must be captured in slides and can be any of the following categories.
To make healthy progress, we need to satisfy one or more of the categories
below each week. Of course, there could be an exception if you have several
tests/exams, etc. in one week. But generally, it is important to have a
consistent and healthy momentum.
To make steady progress, at least one of the categories below must
be fulfilled each week.
- Proposing a new well-thought idea (captured clearly on the slide),
- Solidifying an existing idea or algorithm (captured clearly on the slide),
- Providing correctness or time/space complexity proofs of the proposed algorithms/protocols,
- Formulating a set of new challenges with partial solutions (also captured clearly on the slides),
- Developing a module of the ongoing research prototype,
- Reporting detailed implementation progress,
- Evaluating and presenting a set of experimental results, and/or
- Completing the write-up for several sections of a research paper
Weekly Presentation:
Each student is expected to present 1 (or 2 depending on the number of students taking
the course) papers throughout the semester. All presentations are done in groups, so up
to 4 students need to coordinate, study, and present the paper together. Students
must also submit their presentation slides to be posted on the website.
Students must coordinate with the TA in advance for the paper they wish to present
(we will adopt the first-come, first-served when assigning papers). All paper selection
must be sent to the TA before September 30, if no selection is received by the due date,
a random assignment will be adopted by the TA.
We will start the student presentation starting October 3, 2022. Each week, we will have two
presentations, one on Monday and one on Wednesday. We dedicate the Friday of each week to
have an even deeper discussion on the papers presented during the week. The two groups of
presenters will lead the Friday discussion, so it is expected that all of them coordinate and
prepare before the Friday meeting. Please note that the two papers selected for each week are
highly related to ensure a coherent and exciting discussion.
Furthermore, everyone is expected to attend all lectures, namely, participating and attending
when your peers (other students in the class) are presenting their papers. So half of the presentation
grade will be reserved for giving a high-quality presentation and the other half would be dedicated
to class participation, i.e., attending every lecture and asking insightful questions!
Additionally, every week, each student must choose one paper among the papers that are being
presented that week and write a conference-style review. A standard template for writing a review
consists of (1) explaining the paper in your own words in one or two paragraphs;
(2) three strong points; (3) three weak points; (4) detailed concise comments that
expand upon the weak points and beyond. When writing strong and weak points please avoid
general comments such as weak motivations or poor writings and be as specific as possible. In
your detailed comments, in the end, you could include such general comments.
* With prior permission from the instructor, the projects can be
done individually if there is sufficient justification.
Team Dynamics:
For each group, it is recommended that each member lead one aspect of the project while
contributing and learning about other parts. It is further recommended a project manager
is elected within a group to coordinate all efforts and manage the group dynamics in addition
to making technical contributions to the project.
A fact of life, when there is group work, whether at school or in society, there are
occasional conflicts; and it is crucial to learn how to resolve our differences and be
receptive, open, and kind to one another. In kindness and reflection, we shall aim to
resolve all conflicts. It is the group's responsibility to handle all internal affairs,
and only when absolutely necessary involving the instructor. But note, only under very
rare exceptional circumstances, a group re-structuring would be granted because once the
group is formed, at least for 10 weeks, we must learn how to work with each other in harmony.
Grading/Timeline
The final grade will be based upon the following components:
- Paper Reviews: 10% (Due on Sundays)
- Paper Presentations: 20% (Selection due on September 30, 2022)
-
Project Proposal Report (2 pages): 20% (Due on October 21, 2022)
[Project Pitch Template]
-
Mid-term Progress Report (4 pages):
20% (Due on November 11, 2022)
[Building upon project proposal, identifying key milestones/objectives broken down into activities
and tasks, timelines, and associated risks, and what has been achieved so far...]
-
Final Review Report (8 pages):
30% (Due on December 2, 2022)
[SBIR Project Description Template,
Research Paper] OR
[Blog,
Websites: CryptoLunch,
Resilient Record]
Course Policy:
In this class, we adopt the UC Davis Code of Academic Conduct available
here.