Consenso por Localidade: Um Mecanismo de Consenso Leve com Convergência por Vizinhanças para Cadeia de Blocos

  • Gabriel R. Carrara UFF
  • Diogo M. F. Mattos UFF
  • Célio V. N. Albuquerque UFF

Abstract


Private blockchains tend to apply deterministic consensus mechanisms as a more efficient alternative to proof-based mechanisms. Deterministic mechanisms tolerate two types of failures, byzantine, and crash-fault. Byzantine fault-tolerant consensus assumes restrictive assumptions of time and number of failures to guarantee validity, while termination depends on message broadcasting between the nodes. Crash-Fault tolerant consensus is less stringent to ensure termination and higher throughput while sacrificing agreement. This paper proposes a lightweight consensus mechanism based on locality voting with confirmed message broadcasting. Formation rules in the neighborhoods of the peer-to-peer network relax the trade-off between agreement and termination. Experimental results show that agreement and termination are guaranteed in the case of using more permissive formation rules. At the same time, the cost of achieving consensus is reduced by up to 46% in more stringent formation rules with little impact on termination and agreement.

References

Bessani, A., Sousa, J., and Alchieri, E. E. (2014). State machine replication for the masses with bft-smart. In 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, pages 355–362. IEEE.

Carrara, G. R., Burle, L. M., Medeiros, D. S., de Albuquerque, C. V. N., and Mattos, D. M. (2020). Consistency, availability, and partition tolerance in blockchain: a survey on the consensus mechanism over peer-to-peer networking. Annals of Telecommunications, 75(3):163–174.

Carrara, G. R., Reis, L. H., Albuquerque, C. V., and Mattos, D. M. (2019). A lightweight strategy for reliability of consensus mechanisms based on software defined networks. In 2019 Global Information Infrastructure and Networking Symposium (GIIS), pages 1–6. IEEE.

Castro, M., Liskov, B., et al. (1999). Practical byzantine fault tolerance. In OSDI, volume 99, pages 173–186.

Chen, L., Xu, L., Shah, N., Gao, Z., Lu, Y., and Shi, W. (2017). On security analysis of proof-of-elapsed-time (poet). In International Symposium on Stabilization, Safety, and Security of Distributed Systems, pages 282–297. Springer.

Correia, M., Veronese, G. S., Neves, N. F., and Verissimo, P. (2011). Byzantine consensus in asynchronous message-passing systems: a survey. International Journal of Critical Computer-Based Systems, 2(2):141–161.

Douceur, J. R. (2002). The sybil attack. In International workshop on peer-to-peer systems, pages 251–260. Springer.

Kosowski, A. and Manuszewski, K. (2004). Classical coloring of graphs. Contemporary Mathematics, 352:1–20.

Kwon, J. (2014). Tendermint: Consensus without mining. Draft v. 0.6, fall, 1(11).

Lamport, L. (2006). Fast paxos. Distributed Computing, 19(2):79–103.

Lamport, L. et al. (2001). Paxos made simple. ACM Sigact News, 32(4):18–25.

Lamport, L. and Massa, M. (2004). Cheap paxos. In International Conference on Dependable Systems and Networks, 2004, pages 307–314. IEEE.

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

Luu, L., Narayanan, V., Zheng, C., Baweja, K., Gilbert, S., and Saxena, P. (2016). A secure sharding protocol for open blockchains. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, pages 17–30.

Nakamoto, S. (2008). Bitcoin whitepaper. URL: https://bitcoin.org/bitcoin.pdf.

Oliveira, M. T., Carrara, G. R., Fernandes, N. C., Albuquerque, C. V., Carrano, R. C., Medeiros, D. S., and Mattos, D. M. (2019). Towards a performance evaluation of private blockchain frameworks using a realistic workload. In 2019 22nd conference on innovation in clouds, internet and networks and workshops (ICIN), pages 180–187. IEEE.

Oliveira, M. T., Reis, L. H. A., Medeiros, D. S. V., Carrano, R. C., Olabarriaga, S. D., and Mattos, D. M. F. (2020). Blockchain reputation-based consensus: A scalable and resilient mechanism for distributed mistrusting applications. Comput. Networks, 179:107367.

Ongaro, D. and Ousterhout, J. (2014). In search of an understandable consensus algorithm. In 2014 {USENIX} Annual Technical Conference ({USENIX}{ATC} 14), pages 305–319.

Rebello, G. A. F., Camilo, G. F., Guimarães, L. C., de Souza, L. A. C., and Duarte, O. C. M. (2020). On the security and performance of proof-based consensus protocols. In 2020 4th Conference on Cloud and Internet of Things (CIoT), pages 67–74. IEEE.

Schwartz, D., Youngs, N., Britto, A., et al. (2014). The ripple protocol consensus algorithm. Ripple Labs Inc White Paper, 5(8):151.
Published
2021-08-16
CARRARA, Gabriel R.; MATTOS, Diogo M. F.; ALBUQUERQUE, Célio V. N.. Consenso por Localidade: Um Mecanismo de Consenso Leve com Convergência por Vizinhanças para Cadeia de Blocos. In: BLOCKCHAIN WORKSHOP: THEORY, TECHNOLOGY AND APPLICATIONS (WBLOCKCHAIN), 4. , 2021, Uberlândia. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2021 . p. 13-26. DOI: https://doi.org/10.5753/wblockchain.2021.17125.