VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.
Distributed Systems
Last Updated: 2026-02-05 16:29:08
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)
- Main link
- Course Webpage
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.
|
|
3 h weekly |
| independent project | Distributed Systems | No time listed | 1 h weekly |
Offered In
-
-
-
Track: 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.)
-
Specialisation Courses (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. A minimum of 40 credits must be obtained from specialisation courses during the Master's Programme.)
-
-
-
-
Major Courses (A total of 42 CP must be achieved during the Master Programme. The individual study plan is subject to the tutor's approval.)
-
-
Recommended Subjects (These courses are recommended, but you are free to choose courses from any other special field. Please consult your tutor.)
-
-
-
-