The Next 700 BFT Protocols

30 Nov
Monday, 11/30/2009 6:00am to 7:00am

Vivien Quema
CNRS (National Center for Scientific Research)
LIG Laboratory

Computer Science Building, Room 151

Faculty Host: Prashant Shenoy

Byzantine fault-tolerant state machine replication (BFT) has reached a reasonable level of maturity as an appealing, software-based technique, to building robust distributed services with commodity hardware. The current tendency however is to implement a new BFT protocol from scratch for each new application and network environment. This is notoriously difficult. Modern BFT protocols require each more than 20.000 lines of sophisticated C code and proving their correctness involves an entire PhD. Maintaining and testing each new protocol seems just impossible.

This talk will present a candidate abstraction, named ABSTRACT (Abortable State Machine Replication), to remedy this situation. A BFT protocol is viewed as a, possibly dynamic, composition of instances of ABSTRACT, each instance developed and analyzed independently. A new effective BFT protocol can be developped by adding less than 10% of code to an existing one. Correctness proofs become at human reach and even model checking techniques can be envisaged. To illustrate the ABSTRACT approach, we describe a new BFT protocol we name Aliph: the first of a hopefully long series of effective yet modular BFT protocols. The Aliph protocol has a peak throughput that outperforms those of all BFT protocols we know of by 300% and a best case latency that is less than 30% of that of state of the art BFT protocols.

This is joint work with Prof. R. Guerraoui (EPFL) and Dr M. Vukolic (IBM).

BIO:

Vivien Quema is a CNRS researcher in France, working at INRIA Grenoble. He got his PhD from Grenoble Institute of Technology in 2005. He did a post-doc at the University of Rome "La Sapienza" with Prof. Roberto Baldoni. He has recently been invited researcher at EPFL in the LPD laboratory headed by Prof. Rachid Guerraoui. His main research interests are replication protocols, unstructured peer-to-peer networks and multicore programming.