Avaliação da incidência de forks no algoritmo de consenso Probabilistic Proof-of-Stake (PpoS)
Resumo
Este artigo apresenta o protocolo de consenso Probabilistic Proof-of-Stake (PPoS) e analisa o mesmo dos pontos de vista teórico e prático, focando na sua probabilidade de produzir forks. O texto primeiramente explica o funcionamento do algoritmo, onde é possível entender como um nó participa de um sorteio em rodadas a fim de ganhar o direito de criar um novo bloco para uma cadeia. Em seguida ele apresenta os critérios para aceitação e para confirmação de blocos, seguidos de uma análise da probabilidade de forks e do número esperado de rodadas entre dois blocos consecutivos. Uma blockchain baseada neste protocolo foi implementada e seus resultados práticos mostraram uma boa concordância com a análise teórica, validando a mesma.
Referências
Buterin, V. and Griffith, V. (2017). Casper the friendly finality gadget. ArXiv e-prints, https://arxiv.org/pdf/1710.09437.pdf.
Christidis, K. and Devetsikiotis, M. (2016). Blockchains and smart con-tracts for the internet of things. IEEE Access- Internet of Things Journal.https://iceexplore-iece-org.ez338.periodicos.capes.gov.br/document/7467408/,4:2292-2303.
Deirmentzoglou, E., Papakyriakopoulos, G., and Patsakis, C. (2019). A sur-vey on long-range attacks for proof-of-stake protocols. IEEE Access.https://iceexplore-ieee-org.ez338.periodicos.capes.gov.br/document/8653269,7:28712 — 28725.
Fischer, M. J., Lynch, N. A., and Paterson, M. D. (1985). Impossibility of distributedconsensus with one faulty process. Journal of ACM, 32(2):374-382.
Gilad, Y., Hemo, R. Micali, S., Vlachos, G., and Zeldovich, N. (2017).Algorand: Scaling byzantine agreements for cryptocurrencies. SOSP 17- Proceedings of the 26th Symposium and Operating Systems Principles.https://dl.acm.org/doi/abs/10.1145/3132747.3132757.
Greve, F., Sampaio, L., Abijaude, J., Coutinho, A., Ítalo Valcy, and Queiroz, S. (2018).Blockchain e a revolução do consenso sob demanda. XXXVI Simpósio Brasileiro deRedes de Computadores e Sistemas Distribuídos, Minicurso(1).
King, S. (2013). Primecoin: Cryptocurrency with prime number proof-of-work. [Online].http://primecoin.io/bin/primecoin-paper.pdf. Whitepaper.
Lamport, L., Shostak, R., and Pease, M. (1982). The byzantine generals problem. ACMTransactions on Programming Languages and Systems (TOPLAS), 4(3):382-401.
Maehara, Y. E., Martins, D. F. G., and Henriques, M. A. A. (2019). Proof-of-stake baseado em tempo discreto. In XXXVII Simpósio Brasileiro de Redes deComputadores e Sistemas Distribuídos - Workshop -WBlockchain, Gramado-RS.http://sbrc2019.sbc.org.br/wp-content/uploads/2019/05/wblockchain2019.pdf.
Martins, D. F. G. and Henriques, M. A. A. (2019). Uma análise preliminar do controle deforks no mecanismo de consenso proof-of-stake com tempo discreto. In XIX SimpósioBrasileiro de Segurança da Informação e Sistemas Distribuídos - trilha principal, SãoPaulo-SP. https://sbseg2019.ime.usp.br/anais/196087.pdf.
Nakamoto, S. (2009). Bitcoin: A peer-to-peer electronic cash system. [Online]. https://bitcoin.org/bitcoin.pdf. Whitepaper.
Nguyen, C. T., Hoang, D. T., Nguyen, D. N., Niyato, D., Nguyen, H. T., andDutkiewicz, E. (2019). Proof-of-stake consensus mechanisms for future blockchains networks: Fundamentals, applications and opportunities. IEEE Access.https://iceexplore.ieee.org/document/8746079, 7:85727 — 85745.