Yang Xiao Home

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.
  • 08/22: Course Intro + Expectation
  • 08/24: Basic Components of a Blockchain System + Project Ideas.
  • 08/26: "On Scaling Decentralized Blockchains," FC 2016. (Presenter: Yang Xiao)
  • Paper bidding for Weeks 2-8
    Aug 26
    2 Security of Blockchain
  • 08/29: Blockchain Security – a Layered View
  • 08/31: [P] "Majority Is Not Enough: Bitcoin Mining Is Vulnerable," FC 2014. (Presenter: Jacob)
  • 09/02: [P] "Stubborn Mining: Generalizing Selfish Mining and Combining with an Eclipse Attack," IEEE EuroSP 2016. (Presenter: Shashank)
  •  
    3 Smart Contract for IoT
    [R] What Are Smart Contracts; Introduction to Smart Contracts; Real-World Use Cases for Smart Contracts and dApps.
  • 09/05: No class – Labor Day holiday
  • 09/07: [P] "Healthcare Blockchain System Using Smart Contracts for Secure Automated Remote Patient Monitoring," J Med Syst 2018 + introduce one or two other blockchain-based healthcare applications that you find interesting. (Presenter: Travis)
  • 09/09: [P] "Smart Contract-Based Access Control for the Internet of Things," IEEE IOT-J 2019. (Presenter: Samuel)
  •  
    4 Alternative Consensus Protocols
    [YouTube] Leslie Lamport on Byzantine Generals and Byzantine Failures and the origins of Paxos.
  • 09/12: Fault Tolerant Consensus.
  • 09/14: [P] "Enhancing Bitcoin Security and Performance with Strong Consistency via Collective Signing," USENIX Security 2016. (Presenter: Elinor)
  • 09/16: Fault Tolerance Consensus and Proof-of-X (continued from Monday). [R] Proof-of-stake (PoS) in Ethereum.
  • Project proposal
    Sep 12
    5 Blockchain Sharding
  • 09/19: Sharding in Ethereum 2.0 and "The Merge" (est. to happen on 9/15).
  • 09/21: [P] "OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding," IEEE SP 2018. (Presenter: Yuhang)
  • 09/23: [P] "RapidChain: Scaling Blockchain via Full Sharding," ACM CCS 2018. (Presenter: Mingze)
  •  
    6 Blockchain for Privacy and Trusted Computing
  • 09/26: Blockchain and Trusted Computing.
  • 09/28: [P] "PrivacyGuard: Enforcing Private Data Usage Control with Blockchain and Attested Off-chain Contract Execution," ESORICS 2020. (Presenter: Sandesh)
  • 09/30: [P] "Æternum: A Decentralized Voting System with Unconditional Privacy," IEEE ICBC 2021. (Presenter: Robert)
  •  
    7 Blockchain Network Security
  • 10/03: P2P Network and Eclipse Attacks.
  • 10/05: [P] "Hijacking Bitcoin: Routing Attacks on Cryptocurrencies," IEEE SP 2017. (Presenter: Yue)
  • 10/07: [P] "A Stealthier Partitioning Attack against Bitcoin Peer-to-Peer Network," IEEE SP 2020. (Presenter: Cole)
  •  
    8 The Blockchain Oracle Problem
  • 10/10: Connecting Blockchain to the External World.
  • 10/12: [P] "Chainlink 2.0: Next Steps in the Evolution of Decentralized Oracle Networks," Chainlink Labs Whitepaper (Sections 1-4). (Presenter: TBD)
  • 10/14: [P] "Decentralized APIs for Web 3.0," API3 Whitepaper (Sections 1-5). (Presenter: Alex)
  • Paper bidding for Weeks 10-15
    Oct 14
    9 Project Mid-term Presentations (15 minutes each)
  • 10/17: Travis; Elinor; Shashank and Yuhang
  • 10/19: Alex; Mingze and Yue; Sam and Jacob
  • 10/21: Sandesh and Robert; Cole
  •  
    10 Blockchain for Federated Learning
  • 10/24: No class - Fall break
  • 10/26: [P] "Blockchain Empowered Asynchronous Federated Learning for Secure Data Sharing in Internet of Vehicles," IEEE TVT 2020. (Presenter: Yue)
  • 10/28: Digital Ownership and Provenance. (swapped from 11/07)
  •  
    11 Decentralized Identity
  • 10/31: DID and Verifiable Credential.
  • 11/02: [P] "Health-ID: A Blockchain-Based Decentralized Identity Management for Remote Healthcare," Healthcare 2021. (Presenter: Elinor)
  • 11/04: [P] "CanDID: Can-Do Decentralized Identity with Legacy Compatibility, Sybil-Resistance, and Accountability," IEEE SP 2021. (Presenter: Samuel)
  •  
    12 Digital Provenance and NFT
  • 11/07: DeFi Basics. (swapped from 11/28)
  • 11/09: [P] "ProvChain: A Blockchain-Based Data Provenance Architecture in Cloud Environment with Enhanced Privacy and Availability," IEEE/ACM CCGRID 2017. (Presenter: Jacob)
  • 11/11: Cross-chain Communication. (swapped from 11/14)
  •  
    13 Cross-chain Interoperability
    [R] SoK: Exploring Blockchains Interoperability.
  • 11/14: [P] "Understanding Security Issues in the NFT Ecosystem," ACM CCS 2022. (Presenter: Alex) (swapped from 11/11)
  • 11/16: [P] "Atomic Cross-Chain Swaps," ACM PODC 2018. (Presenter: Yuhang)
  • 11/18: [P] "SmartSync: Cross-Blockchain Smart Contract Interaction and Synchronization," IEEE ICBC 2022 (Distinguished Paper Award). (Presenter: Cole)
  •  
    14 Redactable Blockchains
  • 11/21: [P] "A Moderation Framework for the Swift and Transparent Removal of Illicit Blockchain Content," IEEE ICBC 2022. (Presenter: Sandesh)
  • 11/23: No class - Thanksgiving break
  • 11/25: No class - Thanksgiving break
  •  
    15 DeFi Security
    [R] SoK: Decentralized Finance (DeFi)
  • 11/28: [P] "Privacy-Preserving Blockchain-Based Federated Learning for IoT Devices," IEEE IoT-J 2021. (Presenter: Shashank) (swapped from 10/28)
  • 11/30: [P] "Flash Boys 2.0: Frontrunning in Decentralized Exchanges, Miner Extractable Value, and Consensus Instability," IEEE SP 2020. (Presenter: Mingze)
  • 12/02: [P] "Quantifying Blockchain Extractable Value: How dark is the forest?," IEEE SP 2022. (Presenter: Robert)
  •  
    16
  • 12/05: Concluding Remarks and Discussions (Prep Days)
  • 12/07: No class - Schedule an office visit for project discussion (Prep Days)
  • 12/09: No class - Reading Days
  •  
    17
  • 12/12: Project Final Presentation (to schedule as the final exam, 3:30-5:30 PM)
  • 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