EN

Modul

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

Leistungspunkte
6
Turnus
Jedes Sommersemester
Dauer
1 Semester
Sprache
Englisch
Level
4
Version
4

Verantwortung

Einrichtung

  • KIT-Fakultät für Informatik

Bestandteil von

Teilleistungen

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

Erfolgskontrolle(n)

Siehe Teilleistung.

Qualifikationsziele

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.

Voraussetzungen

Siehe Teilleistung.

Inhalt

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

Empfehlungen

Kenntnisse zu Grundlagen von IT-Sicherheit und Rechnernetzen sind hilfreich.

Arbeitsaufwand

Vorlesung: 3 SWS: 3,0h x 15 = 45h
Übung: 1 SWS: 1,0h x 15 = 15h
Wöchentliche Vor- und Nachbereitung der Vorlesung: 15 x 1h x 3 = 45h
Wöchentliche Vor- und Nachbereitung der Übung: 15 x 2h = 30h
Prüfungsvorbereitung: 45h
Σ = 180h = 6 ECTS