DE

Modul

Decentralized Systems: Fundamentals, Modeling, and Applications [M-INFO-105334]

Credits
6
Recurrence
Jedes Sommersemester
Duration
1 Semester
Language
English
Level
4
Version
4

Responsible

Organisation

  • KIT-Fakultät für Informatik

Part of

Bricks

Identifier Name LP
T-INFO-110820 Decentralized Systems: Fundamentals, Modeling, and Applications 6

Competence Goal

1. Fundamentals & Modeling

1. The student is able to recognize and distinguish distributed, federated, and decentralized systems.
2. The student understands consensus, consistency and coordination within the context of networked and decentralized systems.
3. The student understands the concept of Sybil attacks.
4. The student is familiar with decentralized algorithms for leader election and mutual exclusion for execution contexts with various guarantees.
5. The student understands the formally proven limits of fault tolerance and their underlying assumptions. This includes an understanding of synchronous and asynchronous network models which underpin the respective proofs. The student also understands several models for fault tolerance, notably silent and noisy crash as well as byzantine fault tolerance within the context of decentralized and distributed systems.
6. The student has a basic understanding of state machine replication.
7. The student knows various models for and levels of consistency.


2. Applications

1. The student understands conflict-free replicated data types and their use in decentralized systems like Matrix.
2. The student has a fundamental understanding of blockchain-based cryptocurrencies (e.g. Bitcoin/Ethereum), Payment Channels, and decentralized communication systems like Matrix.
3. The student understands trust relations in distributed and decentralized systems and applications.
4. The student is able to understand how the previously introduced theoretical foundations relate to networked and decentralized systems in practice.
5. The student understands concepts of decentralized storage systems.

Content

Decentralized Systems (like blockchain-based systems) represent distributed systems that are controlled by multiple parties who make their own independent decisions. In this course, we cover fundamental theoretical aspects as well as up-to-date decentralized systems and connect theory with current practice. We thereby address fault tolerance, security and trust, as well as performance aspects at the example of applications like Bitcoin, Ethereum, IPFS, and Matrix. As a research-oriented lecture, we may cover additional current topics like verifiable computing and/or identity and access management in decentralized settings.
The lecture covers at least the following topics:

  •  Fundamentals
    • Peer-to-Peer Overlay Networks, Sybil and Eclipse Attacks
    • Formalization of decentralized systems, including models for their computation, communication, faults, and timing.
    • Leader election and mutual exclusion in decentralized systems based on different models for node identities and timing.
    • Byzantine consensus in synchronous and asynchronous settings, including Bracha’s fundamental algorithm for reliable broadcast, Practical Byzantine Fault Tolerant consensus, and fundamental limits.
    • Consistency models and protocols including Conflict-Free Replicated Data Types.
  • Applications
    • The Matrix decentralized messaging platform
    • Distributed Ledgers and Blockchains at the examples of Bitcoin and Ethereum, in particular Proof-of-Work and Proof-of-Stake consensus
    • Payment Channel Networks and Rollups
    • Decentralized storage systems, at the example of IPFS

Recommendation

Prior knowledge in Foundations of IT-Security and Computer Networks is recommended.

Workload

1. Attendance time (Course, exercise, etc.)
Lecture: 3 SWS: 3,0h x 15 = 45h
Exercise: 1 SWS: 1,0h x 15 = 15h
2. Self-study (e.g. independent review of course material, work on homework assignments)
Weekly preparation and follow-up of the lecture: 15 x 1h x 3 = 45h
Weekly preparation and follow-up of the exercise: 15 x 2h = 30h
3. Preparation for the exam: 45 h
Σ = 180h = 6 ECTS