Ausgewählte Kapitel der Systemsoftware
Replizierte Systeme und Blockchain-Systeme
- 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


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 | |
30.04.2025 | Arbeitstechniken: Ausarbeitung und Literaturrecherche | |
07.05.2025 | Papierdiskussion: TBA | |
14.05.2025 | Vortragstechniken: Einen Konferenzvortrag vorbereiten | |
21.05.2025 | Konferenzvortragsdiskussion: TBA | |
28.05.2025 | Konferenzvortragsdiskussion: TBA | |
04.06.2025 | Präsentationen Slot 1 (Themengebiet: "Fundamentals of Replicated Systems") | |
11.06.2025 | Präsentationen Slot 2 | |
18.06.2025 | Präsentationen Slot 3 | |
25.06.2025 | Präsentationen Slot 4 | |
02.07.2025 | Präsentationen Slot 5 | |
09.07.2025 | Präsentationen Slot 6 | |
16.07.2025 | Präsentationen Slot 7 | |
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:00-17:30 Uhr, in Raum 0.031 (Erdgeschoss Rechenzentrum) statt.
Ausarbeitung
- Eigenständiges Erarbeiten eines Themas
- Sprache: Deutsch oder Englisch
- Voraussetzungen
- Berücksichtigung der Wissensbasis
- 6 Seiten (Master) bzw. 4 Seiten (Bachelor) - exklusive Referenzen
- Verwendung des ACM Standard Proceedings Templates (ACM sigconf style) | Template
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
- Friedemann Mattern: Seminarvortrag - Hinweise zur Präsentation
- Karsten Weicker: Seminar-Leitfaden - Anmerkungen zum Vortrag und der schriftlichen Ausarbeitung
- Markus Rath: Leitfaden zur Anfertigung von Seminar-, Studien- und Diplomarbeiten
- Srinivasan Keshav: How to Read a Paper
- Timothy Roscoe: Writing Reviews for Systems Conferences
- Graham Cormode: How NOT to Review a Paper: The Tools and Techniques of the Adversarial Reviewer
Themen
Fundamentals of Replicated Systems (Betreuer: Christian)
- Byzantine Fault-Tolerant Replication
- Blockchain and Proof-of-Work
Enhancing the Scalability of BFT Protocols (Betreuer: Christian)
- Communication, Batching and Pipelining in BFT Protocols
- Committee-based Consensus, Gossiping and Randomized Sampling
Performance and Modularity of BFT Protocols (Betreuer: Christian)
- Internet Computer Consensus: The ICC Protocol Family
- A Directed Acyclic Graph instead of a Blockchain? Mempool Construction & Efficient BFT Consensus
-
Can Directed Acyclic Graph-based BFT Protocols Have Low Latency?
- Mysticeti: Reaching the Limits of Latency with Uncertified DAGs (currently used in Sui)
- Shoal++: High Throughput DAG BFT Can Be Fast! (currently used in Aptos)
Buggy BFT? Techniques to Validate the Correctness of BFT Protocols (Betreuer: Christian)
- Uncovering the Malicious Strategies of Byzantine Generals: The Twins Approach
- BFT-Fuzzing, Lasso Detection and Hot States in BFT Protocol Execution (reserviert)
Bitcoin and its Performance Bottleneck: Approaches to Boost Performance! (Betreuer: Christian)
- Bitcoin and BFT: Is it a Match? Leader Election and Quorum Certification in Proof-of-Work Systems (reserviert)
- Generalized Nakamoto Consensus
- The Lightning Network