Avaliação da incidência de forks no algoritmo de consenso Probabilistic Proof-of-Stake (PpoS)

  • Diego Fernandes Gonçalves Martins Universidade Estadual de Campinas (Unicamp)
  • Marco Aurélio Amaral Henriques Universidade Estadual de Campinas (Unicamp)

Abstract


This paper presents the Probabilistic Proof-of-Stake (PPoS) consensus protocol and analyses it theoretically and practically, focusing on its probability of producing forks. The text explains first the operation of the algorithm, where it is possible to understand how a node participates in a lottery every round, in order to gain the right to produce a new block in a chain. Next, it shows the rules for block acceptance and commitment, followed by an analysis of the fork probability and the expected number of rounds between two blocks. A blockchain based on this protocol was implemented and its practical results showed a strong agreement with the theoretical analysis, validating it.

Keywords: mecanismo de consenso, blockchain, forks, proof-of-Stake, PoS

References

Bashir, I. (2017). Mastering Blockchain. Packt Publishing Ltd., 1 edition.

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.
Published
2020-12-07
MARTINS, Diego Fernandes Gonçalves; HENRIQUES, Marco Aurélio Amaral. Avaliação da incidência de forks no algoritmo de consenso Probabilistic Proof-of-Stake (PpoS). In: BLOCKCHAIN WORKSHOP: THEORY, TECHNOLOGY AND APPLICATIONS (WBLOCKCHAIN), 3. , 2020, Rio de Janeiro. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 94-107. DOI: https://doi.org/10.5753/wblockchain.2020.12437.