Ausgewählte Kapitel der Systemsoftware

  • 29.01.2025: Die vorläufige Version der Veranstaltungswebseite ist online.
  • 11.02.2025: Für Themenreservierungen bitte eine Email an berger@cs.fau.de schreiben
  • 23.04.2025: Der vorläufige Semesterplan ist nun verfügbar.
  • 30.04.2025: Der Semesterplan wurde nun aktualisiert.
  • 22.05.2025: Nächsten Mittwoch (28.05.2025) findet kein Seminar statt.
 

Inhalt

In einer zunehmend vernetzten Welt sind zuverlässige und hochverfügbare Systeme bzw. Dienste zu einem selbstverständlichen Bestandteil unseres Alltags geworden. Um aber Fehlertoleranz und Ausfallsicherheit zu erreichen, arbeitet im Hintergrund oft eine komplexe Infrastruktur bestehend aus mehreren Rechnern, deren Konsistenz ein kritischer Aspekt für die korrekte Ausführung eines Dienstes ist. Genau an dieser Stelle setzen replizierte Systeme an: Sie stellen sicher, dass Daten und Anwendungen redundant auf mehreren Rechnern verteilt und ausgeführt werden können. Bei Ausfällen einzelner Komponenten bleibt so ein Dienst weiterhin erreichbar, und die Korrektheit des Dienstes wird ebenfalls gewährleistet. Dabei spezifiziert ein sog. Replikationsalgorithmus die Koordination zwischen den Replikaten und auch mit Clients, die das replizierte System nutzen. Ein spannendes und aktuelles Thema ist der Einsatz von Replikationsalgorithmen in Blockchain-Systemen. In diesen Systemen muss die Konsistenz eines verteilten Transaktionsbuchs gesichert werden. Bei Blockchains rücken neue Herausforderungen wie beispielsweise die Skalierbarkeit des Systems in den Fokus neuer Forschungsarbeiten.

In diesem Forschungsseminar werden wir neue Forschungsarbeiten zum Themengebiet „Replizierte Systeme und Blockchain-Systeme“ analysieren und diskutieren. Dabei werden wir uns thematisch beispielsweise mit folgenden Aspekten beschäftigen:

  • Grundlagen von replizierten Systemen: Welche Mechanismen stellen die Korrektheit bei einer verteilten Ausführung auf mehreren Rechnern sicher? Welche Algorithmen (z.B. Paxos, PBFT oder Bitcoin) haben sich in der Praxis bewährt und wie funktionieren diese eigentlich?
  • Byzantinische Fehlertoleranz (BFT): Byzantinisch fehlertolerante Algorithmen können sogar Angriffen standhalten, beispielsweise wenn ein Teil der Rechner sich plötzlich bösartig verhält. Wir diskutieren neue Forschungsarbeiten zum Thema BFT und betrachten dabei verschiedene Aspekte wie Skalierbarkeit, Validierung, oder Optimierungen.
  • Blockchain-Systeme: Viele BFT Algorithmen werden heutzutage speziell für ihren Einsatz in Blockchain-Systemen wie z.B. Sui oder Aptos konzipiert. Wir finden das spannend und schauen uns einige dieser Algorithmen an, analysieren ihre Ansätze und diskutieren über wichtige Aspekte wie Resilienz, Performanz und Skalierbarkeit.

Durch aspektorientierte Seminarthemen und einer engen Verzahnung der oben genannten Inhalte können Studierende ein tiefgreifendes Verständnis bezüglich aktuellen Technologien für Fehlertoleranz und Verfügbarkeit in replizierten Systemen entwickeln.

Vorläufiger Semesterplan

Datum Themen Folien
23.04.2025 Organisation und Einführung 01
30.04.2025 Arbeitstechniken: Ausarbeitung und Literaturrecherche 02
07.05.2025 Papierdiskussion: Stabl: The Sensitivity of Blockchains to Failures 03
14.05.2025 Vortragstechniken: Einen Konferenzvortrag vorbereiten 04
21.05.2025 Konferenzvortragsdiskussion 05
28.05.2025 Frei
04.06.2025 Präsentationen 1 ("Fundamentals of Replicated Systems")
11.06.2025 Präsentationen 2 ("Enhancing the Scalability of BFT Protocols")
18.06.2025 Präsentationen 3 ("Performance, Modularity and Liveness of BFT Protocols")
25.06.2025 Präsentationen 4 ("A DAG instead of a Blockchain?")
02.07.2025 Präsentationen 5 ("Buggy BFT? Techniques to Validate BFT Protocols")
09.07.2025 Präsentationen 6 ("Bitcoin and its Performance Bottleneck Part 1")
16.07.2025 Präsentationen 7 ("Bitcoin and its Performance Bottleneck Part 2")
23.07.2025 Allgemeine Diskussions- und Feedbackrunde

Organisatorisches

Den Studierenden werden als Ausgangsbasis zum jeweiligen Thema mehrere wissenschaftliche Arbeiten zur Verfügung gestellt, anhand von denen das Thema anschließend selbstständig erarbeitet werden soll. Die Literaturanalyse mündet in einer Ausarbeitung, die den Themenschwerpunkt zusammenfasst und kritisch bewertet. Die Ergebnisse werden in einem Vortrag den anderen Seminarteilnehmenden vorgestellt und anschließend diskutiert.

Für eine Teilnahme am Seminar ist eine Anmeldung im StudOn notwendig. Die Themen werden rechtzeitig vor Beginn des Semesters bereitgestellt. Um ein Thema zu reservieren, schreibt bitte eine Email mit dem gewünschten Thema an den Betreuer. Dannach wird ein kurzes Treffen vereinbart, in dem das Thema und die Ziele genauer erläutert werden. Idealerweise können Studierende dann schon vor Beginn des Semester das erste Forschungspapier lesen, um so besser abschätzen zu können, ob ihnen das Thema gefällt.

Das Seminar kann sowohl von Bachelor- als auch Master-Studierenden belegt werden. Abhängig davon wird die Schwierigkeit der Themen bzw. der Anspruch an die Ausarbeitung gewählt.

Die am Seminar teilnehmenden Studierenden können wählen, ob sie den Vortrag und die Ausarbeitung auf Deutsch oder Englisch erstellen.

Das Seminar findet mittwochs, 16:15-17:45 Uhr, in Raum 0.031 (Erdgeschoss Rechenzentrum) statt.

Ausarbeitung

Vortrag

  • Vorbereitung und Diskussion der Vorträge der anderen Seminarteilnehmenden
  • Erstellung eines Foliensatzes zur Ausarbeitung
  • Sprache: Deutsch oder Englisch
  • Voraussetzungen
    • Berücksichtigung der Hinweise zur Erstellung der Folien
    • Foliensatz für einen ca. 25-minütigen Vortrag
    • Optional: Verwendung eines i4 Beamertemplates

Material zur Vortragsgestaltung und zu wissenschaftlichem Arbeiten

Themen

Fundamentals of Replicated Systems (Betreuer: Christian)

  1. Byzantine Fault-Tolerant Replication (reserviert)

Enhancing the Scalability of BFT Protocols (Betreuer: Christian)

  1. Communication, Batching and Pipelining in BFT Protocols (reserviert)
  2. Committee-based Consensus, Gossiping and Randomized Sampling (reserviert)

Performance, Modularity and Liveness of BFT Protocols (Betreuer: Christian)

  1. Internet Computer Consensus: The ICC Protocol Family (reserviert)
  2. Optimizations and their Impact on Liveness in BFT Protocols (reserviert)

A DAG instead of a Blockchain? (Betreuer: Christian)

  1. A Directed Acyclic Graph instead of a Blockchain? Mempool Construction & Efficient BFT Consensus (reserviert)
  2. Can Directed Acyclic Graph-based BFT Protocols Have Low Latency? (reserviert)

Buggy BFT? Techniques to Validate the Correctness of BFT Protocols (Betreuer: Christian)

  1. Uncovering the Malicious Strategies of Byzantine Generals: The Twins Approach (reserviert)
  2. BFT-Fuzzing, Lasso Detection and Hot States in BFT Protocol Execution (reserviert)

Bitcoin and its Performance Bottleneck: Approaches to Boost Performance! Part 1 (Betreuer: Christian)

  1. Blockchain and Proof-of-Work (reserviert)
  2. Bitcoin and BFT: Is it a Match? Leader Election and Quorum Certification in Proof-of-Work Systems (reserviert)

Bitcoin and its Performance Bottleneck: Approaches to Boost Performance! Part 2 (Betreuer: Christian)

  1. Generalized Nakamoto Consensus (reserviert)
  2. The Lightning Network

Betreuende