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

Resumo


Cadeias de blocos privadas tendem a aplicar mecanismos de consenso determinísticos como alternativa aos baseados em prova. Mecanismos determinísticos toleram dois tipos de falhas, bizantinas e de parada. O consenso tolerante a falhas bizantinas assume hipóteses restritivas de tempo e número de falhas para garantir a validade, enquanto a terminação depende da difusão de mensagens entre o nós. O consenso tolerante a falhas é menos restritivo para garantir a terminação e maior vazão, sacrificando o acordo. Este artigo propõe um mecanismo de consenso leve baseado na votação por localidade com difusão confirmada de mensagens. Regras de formação nas vizinhanças da rede par-a-par flexibilizam a relação de compromisso entre acordo e o custo de terminação. Resultados experimentais mostram que o acordo e terminação são garantidos no caso de uso de regras mais permissivas, enquanto o custo para alcançar o consenso é reduzido em até 46% em regras mais restritivas com baixo impacto sobre a terminação e o acordo.

Referências

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.
Publicado
16/08/2021
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: WORKSHOP EM BLOCKCHAIN: TEORIA, TECNOLOGIAS E APLICAÇÕES (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.