Advertisement

Information Systems Frontiers

, Volume 16, Issue 1, pp 19–34 | Cite as

Scalable and leaderless Byzantine consensus in cloud computing environments

  • JongBeom Lim
  • Taeweon Suh
  • JoonMin Gil
  • Heonchang YuEmail author
Article

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.

Keywords

Byzantine fault tolerance Consensus Gossip Cloud computing 

References

  1. 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.CrossRefGoogle Scholar
  2. 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.CrossRefGoogle Scholar
  3. 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.CrossRefGoogle Scholar
  4. 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.CrossRefGoogle Scholar
  5. 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.CrossRefGoogle Scholar
  6. 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.CrossRefGoogle Scholar
  7. 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.
  8. 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.
  9. 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.CrossRefGoogle Scholar
  10. 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.
  11. Johnson, B. (1984). Fault-tolerant microprocessor-based systems. IEEE Micro, 4(6), 6–21. doi: 10.1109/MM.1984.291277.CrossRefGoogle Scholar
  12. 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.
  13. 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.CrossRefGoogle Scholar
  14. Lamport, L. (1998). The part-time parliament. ACM Transactions on Computer Systems, 16(2), 133–169. doi: 10.1145/279227.279229.CrossRefGoogle Scholar
  15. 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.CrossRefGoogle Scholar
  16. 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.
  17. Newman, M. (2010). Networks: an introduction. New York: Oxford University Press, Inc.CrossRefGoogle Scholar
  18. 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.CrossRefGoogle Scholar
  19. 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.CrossRefGoogle Scholar
  20. 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.CrossRefGoogle Scholar
  21. 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.CrossRefGoogle Scholar
  22. 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.CrossRefGoogle Scholar
  23. 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.
  24. 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.

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • JongBeom Lim
    • 1
  • Taeweon Suh
    • 1
  • JoonMin Gil
    • 2
  • Heonchang Yu
    • 1
    Email author
  1. 1.Department of Computer Science EducationKorea UniversitySeoulKorea
  2. 2.School of Computer & Information Communications EngineeringCatholic University of DaeguDaeguKorea

Personalised recommendations