Textbooks:
Required:
(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]
- 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]
- 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.
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 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.
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 5 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 October 9, 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 14, 2024. 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.
All students are required to attend every lecture and engage in asking insightful questions, especially when your peers are presenting papers. Your presentation grade will be based on the quality of the slides and the level of engagement during the presentation. 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.
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.
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 and Piazza .
Grading/Timeline
The final grade will be based upon the following components:
- Paper Reviews: 10% (Due on Sundays)
- Paper Presentations: 10% (Selection due on October 9, 2024)
- Pop Quizzes: 10%
-
Project Proposal Report (2 pages): 20% (Due on October 25, 2024)
[Project Pitch Template]
-
Mid-term Progress Report (4 pages):
20% (Due on November 15, 2024)
[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 6, 2024)
[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.