Constantino: Uma Arquitetura BFT Escalável e Eficiente para Blockchains

  • Ray Neiheiser UFSC
  • Luciana Rech Universidade Federal de Santa Catarina
  • Joni da Silva Fraga Universidade Federal de Santa Catarina (UFSC)

Resumo


Devido ao grande interesse em bitcoins e aplicações de blockchain, as aplicações distribuídas com requisitos de segurança e de tolerância a faltas bizantinas têm recebido uma atenção adicional. Algoritmos como Prova de Trabalho (PoW) e Prova de Estaca (PoS) foram desenvolvidos para lidar com a consistência, capturando aspectos de sistemas abertos (openess). No entanto, ao escalarem bem com o número de réplicas considerável, a maioria destes sistemas baseados no PoW ou no PoS não oferecem desempenho como as abordagens mais convencionais que tratam com a consistência de réplicas. Algoritmos como o PBFT que são baseados em replicação ativa podem se ajustarem a blockchain, garantindo um desempenho melhor na consistência das réplicas. Assim, abordagens híbridas como Tendermint ou Hot Stuff foram desenvolvidas oferecendo openess e desempenho. Embora atinjam grandes números de réplicas, estas soluções dependem dos algoritmos PoW ou do PoS o que torna caro o consenso entre suas réplicas. Projetos como o Hyperledger propõe blockchains de alto desempenho onde o consenso tradicional do PBFT é usado sem a necessidade do PoW ou do PoS. No entanto, algoritmos de PBFT, no consenso de suas réplicas, não escalam bem devido aos custos quadráticos (O(n 2 )). Assim, na literatura, estruturas hierárquicas foram propostas com o PBFT para lidar com o crescente número de réplicas. Nós, neste trabalho, propomos uma arquitetura hierárquica com um algoritmo de PBFT para lidar com o modelo altamente adversário do ambiente blockchain. Nossa solução apresenta um consenso com custo linear em relação ao número de réplicas.

Palavras-chave: Blockchain, Protocolos de Consenso, Tolerância a Falhas

Referências

Abraham, I., Gueta, G., and Malkhi, D. (2018). Hot-stuff the linear, optimal-resilience, one-message bft devil. arXiv preprint arXiv:1803.05069.

Amir, Y., Danilov, C., Dolev, D., Kirsch, J., Lane, J., Nita-Rotaru, C., Olsen, J., and Zage, D. (2010). Steward: Scaling byzantine fault-tolerant replication to wide area networks. TDSC.

Angraal, S., Krumholz, H. M., and Schulz, W. L. (2017). Blockchain technology: applications in health care. Circulation: Cardiovascular Quality and Outcomes.

Buterin, V. and Griffith, V. (2017). Casper the friendly finality gadget. CoRR.

Cachin, C. (2016). Architecture of the hyperledger blockchain fabric. In Workshop on Distributed Cryptocurrencies and Consensus Ledgers, volume 310.

Castro, M. and Liskov, B. (1999). Practical byzantine fault tolerance. OSDI ’99.

Fischer, M. J., Lynch, N. A., and Paterson, M. S. (1982). Impossibility of distributed consensus with one fault process. Technical report, YALE UNIV NEW HAVEN CT.

Grigg, I. (2017). Eos: An introduction. http://org/papers/EOS An Introduction.pdf.

Kiayias, A., Russell, A., David, B., and Oliynykov, R. (2017). Ouroboros: A provably secure proof-of-stake blockchain protocol. In CRYPTO.

King, S. and Nadal, S. (2012). Ppcoin: Peer-to-peer crypto-currency with proof-of-stake. self-published paper, August, 19.

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

Li, P., Wang, G., Chen, X., and Xu, W. (2018). Gosig: Scalable byzantine consensus on adversarial wide area network for blockchains. CoRR, abs/1802.01315.

Miller, A., Xia, Y., Croman, K., Shi, E., and Song, D. (2016). The honey badger of bft protocols. CCS ’16. ACM.
Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system.

Neiheiser, R., Presser, D., Rech, L., Bravo, M., Rodrigues, L., and Correia, M. (2018).

Fireplug: Flexible and robust n-version geo-replication of graph databases. In ICOIN.

Redman, J. (2018). The reason why bitcoin miners dedicate time to mining empty blocks.

Reynal, M. (2005). A short introduction to failure detectors for asynchronous distributed systems. SIGACT News, 36:53–70.

Schuh, F. and Larimer, D. (2017). Bitshares 2.0: General overview.

Sousa, J., Bessani, A., and Vukolic, M. (2017). A byzantine fault-tolerant ordering service for the hyperledger fabric blockchain platform. CoRR, abs/1709.06921.

Svanevik, A. (2018). Why all these empty ethereum blocks?

Vukoli´c, M. (2016). The quest for scalable blockchain fabric: Proof-of-work vs. bft replication. In Open Problems in Network Security.

Zhao, J. L., Fan, S., and Yan, J. (2016). Overview of business innovations and research opportunities in blockchain and introduction to the special issue. Financial Innovation.
Publicado
27/08/2019
Como Citar

Selecione um Formato
NEIHEISER, Ray ; RECH, Luciana ; DA SILVA FRAGA, Joni . Constantino: Uma Arquitetura BFT Escalável e Eficiente para Blockchains. In: SIMPÓSIO BRASILEIRO DE REDES DE COMPUTADORES E SISTEMAS DISTRIBUÍDOS (SBRC), 37. , 2019, Gramado. Anais do XXXVII Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos. Porto Alegre: Sociedade Brasileira de Computação, aug. 2019 . p. 127-140. ISSN 2177-9384. DOI: https://doi.org/10.5753/sbrc.2019.7355.