Brief Announcement: A Leader-free Byzantine Consensus Algorithm

  • Fatemeh Borran
  • André Schiper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5805)


We consider the consensus problem in a partially synchronous system with Byzantine faults. In a distributed system of n processes, where each process has an initial value, Byzantine consensus is the problem of agreeing on a common value, even though some of the processes may fail in arbitrary, even malicious, ways. It is shown in [11] that — in a synchronous system — 3t + 1 processes are needed to solve the Byzantine consensus problem without signatures, where t is the maximum number of Byzantine processes. In an asynchronous system, Fischer, Lynch and Peterson [7] proved that no deterministic asynchronous consensus protocol can tolerate even a single non-Byzantine (= crash) failure. The problem can however be solved using randomization for benign and Byzantine faults. For Byzantine faults, Ben-Or [2] and Rabin [12] showed that this requires 5t + 1 processes. Later, Bracha [3] increased the resiliency of the randomized algorithm to 3t + 1.


  1. 1.
    Amir, Y., Coan, B., Kirsch, J., Lane, J.: Byzantine Replication Under Attack. In: DSN 2008, pp. 197–206 (2008)Google Scholar
  2. 2.
    Ben-Or, M.: Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols. In: PODC 1983, pp. 27–30. ACM, New York (1983)Google Scholar
  3. 3.
    Bracha, G.: An asynchronous [(n - 1)/3]-resilient consensus protocol. In: PODC 1984, pp. 154–162. ACM, New York (1984)Google Scholar
  4. 4.
    Castro, M., Liskov, B.: Practical Byzantine Fault Tolerance and Proactive Recovery. Transactions on Computer Systems (TOCS) 20(4), 398–461 (2002)CrossRefGoogle Scholar
  5. 5.
    Clement, A., Wong, E., Alvisi, L., Dahlin, M., Marchetti, M.: Making Byzantine fault tolerant systems tolerate Byzantine faults. In: NSDI 2009, pp. 153–168. USENIX Association (2009)Google Scholar
  6. 6.
    Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the Presence of Partial Synchrony. JACM 35(2), 288–323 (1988)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of Distributed Consensus with one Faulty Process. J. ACM 32(2), 374–382 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Kotla, R., Alvisi, L., Dahlin, M., Clement, A., Wong, E.: Zyzzyva: speculative byzantine fault tolerance. SIGOPS Oper. Syst. Rev. 41(6), 45–58 (2007)CrossRefGoogle Scholar
  9. 9.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)zbMATHGoogle Scholar
  10. 10.
    Martin, J.P., Alvisi, A.: Fast Byzantine Consensus. IEEE Transactions on Dependable and Secure Computing 3(3), 202–215 (2006)CrossRefGoogle Scholar
  11. 11.
    Pease, M., Shostak, R., Lamport, L.: Reaching Agreement in the Presence of Faults. J. ACM 27(2), 228–234 (1980)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Rabin, M.: Randomized Byzantine generals. In: Proc. Symposium on Foundations of Computer Science, pp. 403–409 (1983)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Fatemeh Borran
    • 1
  • André Schiper
    • 1
  1. 1.Ecole Polytechnique Fédérale de Lausanne (EPFL)LausanneSwitzerland

Personalised recommendations