227-0555-00L  Distributed Systems

SemesterAutumn Semester 2020
LecturersR. Wattenhofer
Periodicityyearly recurring course
Language of instructionEnglish
CommentEnrolled students will be notified by e-mail about the lecture start.


227-0555-00 GDistributed Systems
The lecture start will be notified by e-mail.
The lecturers will communicate the exact lesson times of ONLINE courses.
Lecture: Monday or Friday 10-12 h
Exercises: Friday 14 - 16 h
3 hrs
Mon10-12ON LI NE »
Fri10-12ON LI NE »
14-16CAB G 51 »
R. Wattenhofer
227-0555-00 ADistributed Systems
1 hrsR. Wattenhofer

Catalogue data

AbstractThis 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.
ObjectiveThe 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.
ContentWe 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.
Lecture notesA script is available on the web page.
LiteratureThe script is self-contained, but links to additional material are available on the web page.
Prerequisites / NoticeThis lecture takes place in roughly the second half of the semester, as the lecture is the second part of the lecture "Computer Systems" (252-0217-00). Students may attend at most one of the two lectures, NOT both.

Performance assessment

Performance assessment information (valid until the course unit is held again)
Performance assessment as a semester course
ECTS credits4 credits
ExaminersR. Wattenhofer
Typesession examination
Language of examinationEnglish
RepetitionThe performance assessment is offered every session. Repetition possible without re-enrolling for the course unit.
Mode of examinationwritten 90 minutes
Additional information on mode of examinationCompletion of a learning task awards a bonus of up to 0.25 grade points on the final grade. The final exam may be computer-based.
Written aidsNone
This information can be updated until the beginning of the semester; information on the examination timetable is binding.

Learning materials

Main linkCourse Webpage
Only public learning materials are listed.


No information on groups available.


There are no additional restrictions for the registration.

Offered in

Electrical Engineering and Information Technology MasterSpecialisation CoursesWInformation
Electrical Engineering and Information Technology MasterRecommended SubjectsWInformation