Skip to main content
Log in

Scalable and leaderless Byzantine consensus in cloud computing environments

  • Published:
Information Systems Frontiers Aims and scope Submit manuscript

Abstract

Traditional Byzantine consensus in distributed systems requires n ≥ 3f + 1, where n is the number of nodes. In this paper, we present a scalable and leaderless Byzantine consensus implementation based on gossip, requiring only n ≥ 2f + 1 nodes. Unlike conventional distributed systems, the network topology of cloud computing systems is often not fully connected, but loosely coupled and layered. Hence, we revisit the Byzantine consensus problem in cloud computing environments, in which each node maintains some number of neighbors, called local view. The message complexity of our Byzantine consensus scheme is O(n), instead of O(n 2). Experimental results and correctness proof show that our Byzantine consensus scheme can solve the Byzantine consensus problem safely in a scalable way without a bottleneck and a leader in cloud computing environments.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  • Allavena, A., Demers, A., Hopcroft, J.E. (2005). Correctness of a gossip based membership protocol. In Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing, PODC ’05, (pp. 292–301). New York: ACM. doi:10.1145/1.0738141073871.

    Chapter  Google Scholar 

  • Amir, Y., Coan, B., Kirsch, J., Lane, J. (2011). Prime: Byzantine replication under attack. IEEE Transactions on Dependable and Secure Computing, 8(4), 564–577. doi:10.1109/TDSC.2010.70.

    Article  Google Scholar 

  • Bessani, A., Correia, M., da Silva Fraga, J., Lung, L.C. (2009). An efficient byzantine-resilient tuple space. IEEE Transactions on Computers, 58(8), 1080–1094. doi:10.1109/TC.2009.71.

    Article  Google Scholar 

  • Buyya, R., Yeo, C.S., Venugopal, S., Broberg, J., Brandic, I. (2009). Cloud computing and emerging IT platforms: Vision, hype, and reality for delivering computing as the 5th utility. Future Generation Computer Systems, 25(6), 599–616. doi:10.1016/j.future.2008.12.001. http://www.sciencedirect.com/science/article/pii/S0167739X08001957.

    Article  Google Scholar 

  • Castro, M., & Liskov, B. (2002). Practical byzantine fault tolerance and proactive recovery. ACM Transactions on Computer Systems, 20(4), 398–461. doi:10.1145/571637.571640.

    Article  Google Scholar 

  • Chard, K., Bubendorfer, K., Caton, S., Rana, O. (2012). Social cloud computing: a vision for socially motivated resource sharing. IEEE Transactions on Services Computing, 5(4), 551–563. doi:10.1109/TSC.2011.39.

    Article  Google Scholar 

  • Chun, B.G., Maniatis, P., Shenker, S., Kubiatowicz, J. (2007). Attested append-only memory: making adversaries stick to their word. In Proceedings of twenty-first ACM SIGOPS symposium on operating systems principles, SOSP ’07 (pp. 189–204). New York: ACM. doi:10.1145/1.2942611294280.

  • Correia, M., Neves, N., Verissimo, P. (2004). How to tolerate half less one byzantine nodes in practical distributed systems. In Proceedings of the 23rd IEEE international symposium on reliable distributed systems, 2004 (pp. 174–183). doi:10.1109/RELDIS.2004.1353018.

  • Ganesh, A., Kermarrec, A. M., Massoulie, L. (2003). Peer-to-peer membership management for gossip-based protocols. IEEE Transactions on Computers, 52(2), 139–149. doi:10.1109/TC.2003.1176982.

    Article  Google Scholar 

  • Gurevich, M., & Keidar, I. (2009). Correctness of gossip-based membership under message loss. In Proceedings of the 28th ACM symposium on principles of distributed computing, PODC ’09 (pp. 151–160). New York: ACM. doi:10.1145/1.5827161582743.

  • Johnson, B. (1984). Fault-tolerant microprocessor-based systems. IEEE Micro, 4(6), 6–21. doi:10.1109/MM.1984.291277.

    Article  Google Scholar 

  • Kapitza, R., Behl, J., Cachin, C., Distler, T., Kuhnle, S., Mohammadi, S. V., Schröder-Preikschat, W., Stengel, K. (2012). Cheapbft: resource-efficient byzantine fault tolerance. In Proceedings of the 7th ACM european conference on computer Systems, EuroSys ’12 (pp. 295–308). New York: ACM. doi:10.1145/2.1688362168866.

  • Komal, M., Ansuyia, M., Deepak, D. (2013). Round robin with server affinity: A VM load balancing algorithm for cloud based infrastructure. Journal of Information Processing Systems, 9(3), 379–394. doi:10.3745/JIPS.2013.9.3.379. ISSN 1976-913X.

    Article  Google Scholar 

  • Lamport, L. (1998). The part-time parliament. ACM Transactions on Computer Systems, 16(2), 133–169. doi:10.1145/279227.279229.

    Article  Google Scholar 

  • Lamport, L., Shostak, R., Pease, M. (1982). The byzantine generals problem. ACM Transactions on Programming Languages and Systems, 4(3), 382–401. doi:10.1145/357172.357176.

    Article  Google Scholar 

  • Malkhi, D., & Reiter, M. (1997). Byzantine quorum systems. In Proceedings of the twenty-ninth annual ACM symposium on theory of computing, STOC ’97 (pp. 569–578). New York: ACM. doi:10.1145/258533.258650.

  • Newman, M. (2010). Networks: an introduction. New York: Oxford University Press, Inc.

    Book  Google Scholar 

  • Pease, M., Shostak, R., Lamport, L. (1980). Reaching agreement in the presence of faults. Journal of the ACM, 27(2), 228–234. doi:10.1145/322186.322188.

    Article  Google Scholar 

  • Schneider, F.B. (1984). Byzantine generals in action: implementing fail-stop processors. ACM Transactions on Computer Systems, 2(2), 145–154. doi:10.1145/190.357399.

    Article  Google Scholar 

  • Schneider, F.B. (1990). Implementing fault-tolerant services using the state machine approach: a tutorial. ACM Computing Surveys, 22(4), 299–319. doi:10.1145/98163.98167.

    Article  Google Scholar 

  • Veronese, G., Correia, M., Bessani, A., Lung, L.C., Verissimo, P. (2013). Efficient byzantine fault-tolerance. IEEE Transactions on Computers, 62(1), 16–30. doi:10.1109/TC.2011.221.

    Article  Google Scholar 

  • Wang, S.S., Yan, K. Q., Wang, S.C. (2011). Achieving efficient agreement within a dual-failure cloud-computing environment. Expert Systems with Applications, 38(1), 906–915. doi:10.1016/j.eswa.2010.07.072.

    Article  Google Scholar 

  • Yin, J., Martin, J.P., Venkataramani, A., Alvisi, L., Dahlin, M. (2003). Separating agreement from execution for byzantine fault tolerant services. In Proceedings of the nineteenth ACM symposium on operating systems principles, SOSP ’03 (pp. 253–267). New York: ACM. doi:10.1145/945445.945470.

  • Zhang, Y., Zheng, Z., Lyu, M. (2011). Bftcloud: a byzantine fault tolerance framework for voluntary-resource cloud computing. In IEEE international conference on cloud computing (CLOUD), 2011 (pp. 444–451). doi:10.1109/CLOUD.2011.16.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Heonchang Yu.

Additional information

This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MEST) (No. 2013056346).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lim, J., Suh, T., Gil, J. et al. Scalable and leaderless Byzantine consensus in cloud computing environments. Inf Syst Front 16, 19–34 (2014). https://doi.org/10.1007/s10796-013-9460-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10796-013-9460-7

Keywords

Navigation