VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.

227-0555-00L 4 Credits MSC D-ITET
You're viewing possible stale or outdated data. Please check the latest semester for more up-to-date information.

Distributed Systems

Lecturers & Examiners: Prof. Dr. Roger Wattenhofer
Does not take place this semester. Enrolled students will be notified by e-mail about the lecture start.
VVZ CR n/a

Last Updated: 2026-06-01 11:31:03

Abstract

This course introduces the fundamentals of distributed systems. We study different protocols and algorithms that allow for fault-tolerant operation, and discuss practical systems that implement these techniques.

Objective

The objective of the course is for students to understand the theoretical principles and practical considerations of distributed systems. This includes the main models of fault-tolerant distributed systems (crash failures, byzantine failures, and selfishness), and the most important algorithms, protocols and impossibility results. By the end of the course, students should be able to reason about various concepts such as consistency, durability, availability, fault tolerance, and replication.

Content

We discuss the following concepts related to fault-tolerant distributed systems: client-server, serialization, two-phase protocols, three-phase protocols, paxos, two generals problem, crash failures, impossibility of consensus, byzantine failures, agreement, termination, validity, byzantine agreement, king algorithm, asynchronous byzantine agreement, authentication, signatures, reliable and atomic broadcast, eventual consistency, blockchain, cryptocurrencies such as bitcoin and ethereum, proof-of-work, proof-of-*, smart contracts, quorum systems, fault-tolerant protocols such as piChain or pbft, distributed storage, distributed hash tables, physical and logical clocks, causality, selfishness, game theoretic models, mechanism design.

Resources

Lecture Notes

A script is available on the web page.

Literature

The script is self-contained, but links to additional material are available on the web page.

Learning Materials (Links)

General Information

Language
English
Levels
MSC
Frequency
Yearly recurring

Examination

Type
session examination
Mode
written 90 minutes
Aids
None

Course Components

Type Title Time & Place Hours
lecture with exercise Distributed Systems
Groups are selected in myStudies. Does not take place this semester.
No time listed 3 h weekly
independent project Distributed Systems
Does not take place this semester.
No time listed 1 h weekly

Offered In

      • Vertiefung: Computers and Networks (The core courses and specialisation courses below are a selection for students who wish to specialise in the area of "Computers and Networks", see . The individual study plan is subject to the tutor's approval.)
        • Vertiefungsfächer (These specialisation courses are particularly recommended for the area of "Computers and Networks", but you are free to choose courses from any other field in agreement with your tutor. Semester / Research Projects are not allowed in this category. A minimum of 40 credits must be obtained from specialisation courses during the Master's Programme.)