Decentralized Systems: Fundamentals, Modeling, and Applications


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 & trust, as well as performance aspects. Furthermore, we address measurements, modeling and simulation of decentralized systems and applications like Bitcoin and Matrix.

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

Learning Objectives

  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 in relation to distributed and decentralized systems.
    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 knows various models for and levels of consistency. In particular, strictly ordered, causally ordered, partially ordered consistency as well as numerical and temporal relaxations thereof.
  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.
    4. The student is able to understand how the previously introduced theoretical foundations relate to networked and decentralized systems in practice.