Course Overview

  • The rise of the cloud computing paradigm realized through hyperscale data centers has rapidly transformed data management infrastructures from centralized databases to distributed systems. Cloud-based systems typically assume trusted infrastructures and tolerate only crash failures. Increasing the number of malicious attacks on the cloud, on the one hand, and the rapid popularity of blockchain, on the other hand, have shifted the focus of fault tolerance from tolerating crash failures to tolerating malicious failures, making untrusted infrastructures more prevalent and commonplace for storing data. Tackling practical large-scale problems on untrusted infrastructures requires addressing the natural tension between scalability, fault tolerance, and trustworthiness, which can be made possible through leveraging scalable data management solutions as well as cryptographic and distributed computing approaches developed to restrict malicious behavior.
    This course focuses on distributed and decentralized data management. We first discuss the foundations of distributed data management, such as distributed transaction processing and consensus protocols. In the next part, we focus on decentralized data management and discuss untrustworthy environments. In particular, we discuss permissioned blockchain systems, e.g., Hyperledger Fabric and Tendermint, permissionless blockchains, e.g., Bitcoin and Ethereum, and ledger databases, e.g., Amazon QLDB, Alibaba LedgerDB, and Microsoft SQL Ledger. In the last part of our class, we present different challenges in decentralized data management, such as performance, scalability, adaptivity, and privacy, and some possible solutions, e.g., data sharding, zero-knowledge proofs, and machine learning approaches.

Time and Location

    • • Class: MW, 1-2:20 PM, CS 2311


      • Office Hours: Tue, 3-5 PM, NCS 139

Prerequisites

    • • Undergraduate Operating Systems or Computer Systems Organization


      • System-level programming experience

Topics

    • • Consensus
      ■ State Machine Replication
      ■ Crash Fault-Tolerant (CFT) Protocols, e.g., Paxos

      • Consensus in Untrustworthy Environments
      ■ Byzantine Fault-Tolerant (BFT) Protocols, e.g., PBFT, HotStuff, Zyzzyva

      • Distributed Transaction Processing
      ■ Sharding with Crash-Only and with Byzantine Failures

      • Permissioned Blockchains
      ■ Different paradigms and systems, e.g., HyperLedger Fabric, Quorum, Tendermint

      • Permissionless Blockhains
      ■ Proof of Work, e.g., Bitcoin
      ■ Proof of Work Challenges: Selfish Mining, Low Throughput (e.g., ByzCoin, BitcoinNG, Elastico, Algorand)
      ■ Proof of Stake, e.g., Ethereum
      ■ Layer-2 Solutions, e.g., e.g., Lightning Networks, Sidechains
      ■ Cross-Chain Transactions and Interoperability, e.g., Cosmos, Avalanche
      ■ Smart Contracts
      ■ Privacy and Anonymity, e.g., Zcash, Monero

      • Decentralized data management Problems
      ■ Problems: Performance, Scalability, Adaptivity, Confidentiality, Verifiability
      ■ Solutions: Data Sharding, Machine Learning, Zero-Knowledge Proofs

Evaluation

    • • Research Project
      ■ Five phases: (1) Problem statement, (2) Design sketch and implementation plan, (3) Evaluation plan and preliminary results, (4) Demo, (5) Final submission (code + report)
      ■ 50% (10%, 10%, 0%, 5%, 25%)
      ■ 10% extra if the report is submittable to a top-tier systems conference, e.g., VLDB, SIGMOD, OSDI, SOSP, NSDI

      • Exam
      ■ 30%

      • Research Paper Presentation
      ■ 10%

      • Quizzes (five Quizzes, each worth 2%)
      ■ 10%

Schedule

Student Accessibility Support Center Statement

  • If you have a physical, psychological, medical, or learning disability that may impact your course work, please contact the Student Accessibility Support Center, Stony Brook Union Suite 107, (631) 632-6748, or at sasc@stonybrook.edu. They will determine with you what accommodations are necessary and appropriate. All information and documentation is confidential.

Academic Integrity Statement

  • Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty is required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology and Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty please refer to the academic judiciary website at http://www.stonybrook.edu/commcms/academic_integrity/index.html.

Critical Incident Management

  • Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Student Conduct and Community Standards any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures. Further information about most academic matters can be found in the Undergraduate Bulletin, the Undergraduate Class Schedule, and the Faculty-Employee Handbook.

Acknowledgement

  • Some topics and materials of this class are from the distributed systems classes taught at UCSB, MIT, Columbia and UW and the blockchian classes taught at Columbia and Princeton.