Textbooks:
Required:
(all 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,
Bitcoin Radio,
Code,
Hands-on,
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 (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 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.
For writing a research paper, 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 reading list.
Research Paper
A research papers (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 papers (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 pairs, so two
students need to coordinate, study, and present the paper together. Students must also submit their
presentation slides to be posted on the website. The papers will be selected from the
content tab. 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 by October 1, if no selection is received by
the due date, a random assignment will be adopted by the TA.
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.
Grading:
The final grade will be based upon the following components:
- Paper Reviews: 10%
- Paper Presentations: 20%
- Project Proposal: 20%
- Project Mid-term Progress Report: 20%
- Project Final Report: 30%
Timeline (Due Dates):
- Paper Presentation Selection: October 1, 2020
- Project Proposal (2 pages): October 21, 2020
- Project Mid-term Progress Report (4 pages): November 11, 2020
- Project Final Report (8 pages): December 11, 2020
Course Policy:
In this class, we adopt the UC Davis Code of Academic Conduct available
here.