CS 5594: Blockchain Technologies (Spring 2025)

Lecture Time & Location: Tuesday and Thursday, 11:00am EST - 12:15pm EST, TORG 1000
Instructor: Peng Gao, penggao@vt.edu
TA: Shawal Khalid, shawal@vt.edu
Instructor office hour: By appointment
TA office hour: TBD, Zoom link posted on canvas

Course Description

Blockchain has the potential to transform many segments of the industry and society. In this course, we plan to cover fundamental concepts as well as advanced topics of emerging blockchain technologies. We will first cover distributed systems concepts and basic cryptographic building blocks of blockchain, including cryptographic hash functions, merkel trees, asymmetric cryptography, and digital signatures. We will then cover core blockchain components and infrastructures such as distributed ledger, consensus protocols, cryptocurrencies (Bitcoin), and smart contracts (Ethereum). We will finally cover several advanced topics on blockchain and smart contracts; we will discuss recent papers and techniques on scalability, privacy, attacks and defenses, novel applications, and blockchain + "X" (e.g., AI/ML, IoT, databases).

Course Format and Project

This is a project-oriented course with no midterm or final exams. A key component of this course is to undertake a novel, high-impact research project in blockchain. Projects will be done in teams of 2, and correspond to 65% of the course grade. We expect that the quality of the research project would be similar to a conference or workshop paper. The final deliverables will be a prototype demo, project presentation, and a paper/report on the project.

Here are relevant deadlines for the project:

  • Project team info sent to TA: 01/31, 2025 (2 students per group)
  • Project proposal (5%): 02/07, 2025
    • 1 page report
    • Describe problem motivation, key ideas, and proposed contributions
  • Initial project report (5%): 02/28, 2025
    • 2-3 pages, double-column ACM format, PDF report prepared using LaTeX
    • The report should include:
      • Title, authors, abstract
      • Introduction (problem motivation, key ideas, proposed contributions)
      • Approach overview (short summary of the approach)
      • Related work (comprehensive survey of related papers and tools, their pros and cons, why your proposed approach/solution is better)
      • Project timeline and expected milestones
      • References
  • Midterm project progress report (15%): 04/04, 2025
    • 6-8 pages, double-column ACM format, PDF report prepared using LaTeX
    • Include everything from the initial project report with necessary revision and expansion
    • The midterm report should additionally include:
      • Initial design (initial design details and implementation, e.g., system architecture, some algorithms)
      • Initial evaluation (initial experimental data that shows why the approach makes sense)
  • Final project report (25%): End of course
    • 10-12 pages, double-column ACM format, PDF report prepared using LaTeX
    • The final report should include everything:
      • Title, authors, abstract, keywords
      • Introduction
      • Overview
      • Design
      • Implementation
      • Evaluation
      • Related Work
      • Conclusion
      • References
      • Appendix (if applicable)
    • The percentage contribution of each member should be included and justified
  • Final prototype demo and artifacts (5%) and presentation (10%): last 2-3 classes
    • Each group will submit a ZIP file that includes the code, README, 5-min demo video, and other artifacts of the project, as part of the 5% prototype demo grade.
    • Each group will give a short presentation about the project in class.

For all reports, we require using double-column ACM CCS LaTeX format (see the Paper Format section).

You may find it useful to look at the papers from the IC3 Initiative for ideas for research project. Here are some top-tier conferences in security and privacy that may also be a good source of ideas:

Specialized blockchain conferences like FC and AFT are also highly relevant. Other broad systems conferences listed in CSRankings are also a good source. To make better use of your time, we suggest looking for ideas by reading papers only from top-tier venues.

Paper Summaries

We will extensively read impactful papers on various blockchain-related topics from the middle of this course. Students will take turns presenting the paper and leading the discussion.

For every paper that we discuss, we ask you to write a paper summary. The purpose of paper summaries is to learn to read impactful papers and summarize what you have learned. The paper summary should be 1 page in PDF format (preparation with LaTeX, Word, or Google Doc) and answer the following questions:

  • What is the problem the paper is trying to solve?
  • Why is the problem important to solve?
  • What are the technical challenges for solving the problem?
  • How does the paper solve the problem? Key insights? Technical contributions? What are the strengths and weaknesses of the paper? How do you like it?
  • What have you learned after reading this paper?

Grading

  • Research project: 65%
  • Paper summaries: 20%
  • Paper presentation (10%) + class discussion (5%)

There will be no makeup for paper summaries and project reports. Exception can be made if the student can present a signed document (e.g., doctor's note) indicating the emergency situation.

This course strictly follows the VT Code of Conduct.

Tentative Schedule

Slides will be typically available on Canvas within one day after each class. Please check Canvas for the latest slides.

Week Date Topic
1 01/23 (Thu) Course Overview
2 01/28 (Tue) Blockchain Overview
01/30 (Thu) Blockchain Overview (cont.)
3 02/04 (Tue) Special Session on Research Project
02/06 (Thu) Distributed Systems
4 02/11 (Tue) Distributed Systems (cont.)
02/13 (Thu) Cryptography
5 02/18 (Tue) Cryptography (cont.)
02/20 (Thu) Cryptography (cont.)
6 02/25 (Tue) No class (instructor travel)
02/27 (Thu) No class (instructor travel)
7 03/04 (Tue) Bitcoin
03/06 (Thu) Bitcoin (cont.)
8 03/11 (Tue) No class (spring break)
03/13 (Thu) No class (spring break)
9 03/18 (Tue) Bitcoin (cont.)
03/20 (Thu) Bitcoin (cont.)
10 03/25 (Tue) Ethereum
03/27 (Thu) Ethereum (cont.)
11 04/01 (Tue) Ethereum (cont.)
04/03 (Thu) Ethereum (cont.)
12 04/08 (Tue) Paper Discussion and Selected Topics. Topics and schedule will be updated later.

Resources

This course is designed to be self-contained. The best source is research papers that can be found from the important conferences listed above or public repositories such as arXiv. In case you want to read some textbooks on blockchain, we recommend the following selections: