CS 585/685 (Fall 2022)
Intermediate/Special Topics in Computer Science: Blockchain Technologies
Course Information
Instructor: Yang Xiao (contact: xiaoy[AT]uky.edu)
Meeting Times: Mon/Wed/Fri 2:00 pm – 2:50 pm (location: register course to know)
Office Hour: 233 Hardymon, Thursday 2:00 pm – 3:00 pm and by appointment
Course Description
Blockchain and distributed ledgers represent a new type of computer network that combines cryptography and distributed system techniques to realize decentralized decision-making amid zero or limited trust. This course aims to acquaint the students with selected aspects of blockchain and distributed ledger technologies that are currently actively researched or developed, with emphases on the blockchain core, security, decentralized application, and their intersections. The class format will be a mixture of lectures, student-led paper presentations, discussions, and a course project. Topics to cover include:
◾ Blockchain system architecture
◾ Consensus and fault tolerance
◾ Security, trust, and performance issues of blockchain core
◾ Blockchain network security
◾ New development in cryptocurrencies
◾ Smart contract and decentralized application
◾ Blockchain and data management
◾ Blockchain and trusted computing
◾ Blockchain application to other domains (IoT, supply chain, digital identity, etc.)
Learning Outcomes: By the end of the course, you are expected to develop an intermediate understanding of key technological and security problems facing blockchain systems as well as produce new results toward one specific problem. You will also gain valuable experience in reading technical papers and giving presentations in the research/professional setting.
Course Project List (Link)
Course Schedule
Week | Lecture or Paper to Present [P]; Recommended Reading [R] | |
---|---|---|
1 |
Introduction
[R] The Princeton Bitcoin book; Intro to Ethereum. |
Paper bidding for Weeks 2-8 Aug 26 |
2 |
Security of Blockchain
|
|
3 |
Smart Contract for IoT
[R] What Are Smart Contracts; Introduction to Smart Contracts; Real-World Use Cases for Smart Contracts and dApps. |
|
4 |
Alternative Consensus Protocols
[YouTube] Leslie Lamport on Byzantine Generals and Byzantine Failures and the origins of Paxos. |
Project proposal Sep 12 |
5 |
Blockchain Sharding
|
|
6 |
Blockchain for Privacy and Trusted Computing
|
|
7 |
Blockchain Network Security
|
|
8 |
The Blockchain Oracle Problem
|
Paper bidding for Weeks 10-15 Oct 14 |
9 |
Project Mid-term Presentations (15 minutes each)
|
|
10 |
Blockchain for Federated Learning
|
|
11 |
Decentralized Identity
|
|
12 |
Digital Provenance and NFT
|
|
13 |
Cross-chain Interoperability
[R] SoK: Exploring Blockchains Interoperability. |
|
14 |
Redactable Blockchains
|
|
15 |
DeFi Security
[R] SoK: Decentralized Finance (DeFi) |
|
16 |
|
|
17 |
|
Project Report Dec 13 11:59 PM |
(to complete)
Course Activities and Grading
(More detailed syllabus and rubrics will be available in Canvas)
Class attendance and participation (10%): Students are required to attend every class. The attendance points (5%) will be given if a student attended more than 80% of the classes and did not miss more than 2 consecutive weeks. Students are also expected to actively participate in paper/topic discussions in the classroom, evaluated by the participation points (1-5%). The participation points are contingent on earning of full attendance points.
Paper discussion online (UG-25%, G-20%): Students are expected to post on the Discussions board in Canvas on each of the papers covered in the coming classes. Please follow these guidelines:
◾ For the paper covered in Week X Day Y (X≥2), the discussions should be posted between Day Y 7:00PM of Week X-1 and Day Y-1 10:00PM of Week X. Each paper has its own discussion thread.
◾ If you are the first to post on a paper, please start a new discussion thread titled Week X: Paper Title (X is the paper’s week number) followed by a summary of the paper’s main contributions (200-300 words). Other students can use this thread for posting on that paper.
◾ Each student’s first post should contain 100-300 words of your own thoughts only, i.e., not copying from the original paper or repeating/rephrasing the posts made earlier by other students in the thread. Potential points to talk about include: paper contributions not yet mentioned by others, theoretic significance, implementation/evaluation methodology, potential weaknesses, applicability to other scenarios, economic/ethical implications, more recent related work that you read, etc.
Paper presentation in class (UG-15%, G-20%): During each non-lecture class (marked with [P] in Course Schedule), one student will present one paper. Depending on the class size, each graduate student will cover 2-3 papers throughout the semester. Each undergraduate student will cover 1 paper (serving the mid-term exam requirement). Students shall bid for papers during Week 1 (first round) and Week 8 (second round). Please follow these guidelines when preparing your presentation:
◾ Create your own slides—do not reuse the slides from the original authors. Email the presentation slides (complete or near-complete) to the instructor at least 3 hours before the class starts so the instructor can provide feedback on copyright/format issues.
◾ Use the first 5 minutes< to discuss a recent blockchain news (tech development, security breach, regulation, etc.) per your own interest. It does not need to be related to the paper presentation.
◾ Limit the paper presentation to 30 minutes. Consider including the following aspects: background, motivation, problem formulation, key solutions, analytical methods, implementation and evaluation, conclusion, and challenges per your understanding. Please also go over some of the discussion points that you found interesting during the online discussion. Reference Rubrics.
◾ The remaining class time is dedicated to group discussion on the paper and relevant topics. The student presenter also joins the discussion and is expected to take brief notes on the key points mentioned by other students. Please upload the final slides and notes to Canvas (as an assignment) by the end of day.
Project: Students will explore a blockchain-related problem in groups of 1-2 people (tentative based on class size). It can be either (1) tackling a new research problem, (2) improving an existing solution, (3) a measurement study on a blockchain system, (4) a comparative study of existing solutions to a problem, or (5) an implementation of an existing paper (for groups of UG student(s) only). Students are encouraged to discover new topics and discuss with the instructor. The following outcomes are expected per group:
◾ Proposal (5%): A 1-page write-up about your interested problem, objectives, and potential methodology. The proposal should include the name and uky.edu email of every group member.
◾ Mid-term presentation (10%): An in-class presentation about how your project proceeds, including problem formulation, related work, proposed method, and (optional) preliminary results. The duration depends on the number of groups—but be expected within 20 minutes.
◾ Final presentation (20%): A presentation about the final status of your project, including the components in the mid-term presentation except that the evaluation results are expected. Time and location will be determined near the semester end.
◾ Final report (15%): A project report (6 pages excluding references) that resembles a mini research paper, potentially publishable in a reputable venue after extension. Please use the ACM sigconf double-column LaTeX Template.
After the final percentage grade is calculated, the following scale is used to determine the final letter grade. For undergraduate students: 90-100% (A), 80-89% (B), 65-79% (C), 55-64% (D), 0-64% (E). For graduate students: 90-100% (A), 80-89% (B), 65-79% (C), 0-64% (E).
Policies
Academic Integreity: Please strictly follow the Academic Offenses Rules (plagiarism, cheating, and falsification or misuse of academic records). Also keep in mind that any copyrighted materials (e.g., images and other media), published contents (e.g., academic papers, books, web sources, online tools) used in your submissions and project should be properly cited. Ideas from people other than your own (for the project—ideas from outside your group) should be acknowledged.
Late Policy: Late submissions (paper discussion online, project proposal, project final report) will be subject to a 50% score penalty if you submit within 2 days after the deadline. Any submissions afterwards will be given the 0 score. Exceptions to this rule may be requested providing appropriate documentation (e.g., medical) which will be considered at the discretion of the instructor.
Disability and Special Accommodation: Please let the instructor know of any needed accommodation in the first two weeks. Please also see Academic Accommodation for further assistance.
Academic Policy Statements, Diversity, Equity, and Inclusion, Resources Available to Students
Learning/Research Resources
UK Libraries, Free Tutoring and Coaching at UK, Google Scholar, ACM Digital Library, IEEE Xplore, dblp: computer science bibliography