Byzantine Fault-Tolerant Transaction Processing for Replicated Databases

Transaction commit is a problem much investigated, both in the databases and systems communities, from the theoretical and practical sides. We present a modular approach to solve this problem in the context of database replication on environments that are subject to Byzantine faults. Our protocol builds on a total order multicast abstraction and is proven to satisfy a set of safety and liveness properties. On the contrary of previous solutions in the literature, it assures strong consistency for transactions, tolerates Byzantine clients and does not need centralized control or multi-version databases. We present an evaluation of a prototype of the system.

[1]  Rachid Guerraoui,et al.  The Database State Machine Approach , 2003, Distributed and Parallel Databases.

[2]  Butler W. Lampson,et al.  Distributed Systems - Architecture and Implementation, An Advanced Course , 1981, Advanced Course: Distributed Systems.

[3]  B SchneiderFred Implementing fault-tolerant services using the state machine approach: a tutorial , 1990 .

[4]  André Schiper,et al.  From group communication to transactions in distributed systems , 1996, CACM.

[5]  Piotr Zieliński,et al.  Paxos at war , 2004 .

[6]  Gustavo Alonso,et al.  Exploiting Atomic Broadcast in Replicated Databases (Extended Abstract) , 1997, Euro-Par.

[7]  Fernando Pedone,et al.  Byzantine Fault-Tolerant Deferred Update Replication , 2011, LADC.

[8]  Hari Balakrishnan,et al.  Tolerating byzantine faults in transaction processing systems using commit barrier scheduling , 2007, SOSP.

[9]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[10]  Rachid Guerraoui,et al.  The Generic Consensus Service , 2001, IEEE Trans. Software Eng..

[11]  Hector Garcia-Molina,et al.  Applications of Byzantine agreement in database systems , 1986, TODS.

[12]  Jim Gray,et al.  A critique of ANSI SQL isolation levels , 1995, SIGMOD '95.

[13]  Rodrigo Rodrigues,et al.  Efficient middleware for byzantine fault tolerant database replication , 2011, EuroSys '11.

[14]  Ozalp Babaoglu,et al.  Non-blocking atomic commitment , 1993 .

[15]  Lorenzo Strigini,et al.  Fault Tolerance via Diversity for Off-the-Shelf Products: A Study with SQL Database Servers , 2007, IEEE Transactions on Dependable and Secure Computing.

[16]  Dennis Shasha,et al.  The dangers of replication and a solution , 1996, SIGMOD '96.

[17]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[18]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[19]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[20]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[21]  Butler W. Lampson Lazy and speculative execution in computer systems , 2008, ICFP 2008.

[22]  Butler W. Lampson,et al.  Atomic Transactions , 1980, Advanced Course: Distributed Systems.