Tutorial 4

Date/Time: Thursday 20th, 2011 2:00pm -- 5:00pm
Duration: 3 hours
Title: Secure Distributed Programming

Presenters: Dr. Christian Cachin


This tutorial provides an introduction to distributed programming abstractions and presents some of the fundamental algorithms that implement them in a variety of distributed environments. Such abstractions free the programmer from complications due to uncertainty, failures, misbehavior, and intrusions, which may occur in a distributed system due to network delays, faults, or malicious attacks. Examples demonstrate how these methods can be applied to building secure and dependable distributed systems.

Over the course of the last decade, the field of reliable distributed systems (where nodes may only crash) has been extended to include security against malicious actions (by non-cooperating processes). This important topic is nowadays known as "Byzantine fault-tolerance" and has impact on distributed systems and service implementations. The tutorial introduces the key abstractions in this field and presents how several algorithms for tolerating Byzantine faults arise naturally from the evolution of algorithms that tolerate benign faults. This tutorial is based on the recent book "Introduction to Reliable and Secure Distributed Programming", by Cachin, Guerraoui, and Rodrigues.


Dr. Christian Cachin graduated with a Ph.D. in Computer Science from ETH Zurich. Since 1998 he has been a Research Staff Member at IBM Research - Zurich, involved with research projects in the fields of cryptology and distributed systems. He has held visiting positions at the MIT Laboratory for Computer Science and at the Ecole Polytechnique Federale de Lausanne (EPFL). His current research interests are the security of storage systems, secure protocols for distributed systems, and cryptography. 

Last modified: 2011-09-29 23:33:55 EDT