Scalable and leaderless Byzantine consensus in cloud computing environments
- 575 Downloads
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.
KeywordsByzantine fault tolerance Consensus Gossip Cloud computing
- 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
- 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.
- 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.
- 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.
- 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.
- 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.