Exploração de algoritmos de consenso no Quorum
Autor(a) principal: | |
---|---|
Data de Publicação: | 2023 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10400.22/23439 |
Resumo: | As blockchain technology matures, more industries are becoming interested in evaluating if the technology can answer their needs for decentralized systems that guarantee data immutability and traceability. Quorum is a blockchain platform that accommodates enterprise use-cases by extending Ethereum to support private transactions and a higher transaction throughput. To achieve this, Quorum replaced Ethereum’s proof-of-stake consensus mechanism with proof-of-authority ones, supporting four different algorithms: Raft, Clique, IBFT 1.0, and QBFT. This work explores Quorum’s consensus algorithms and how they affect performance and fault-tolerance, in order to assess the best use cases for each and what should drive their choice. A GoQuorum network was set up, and benchmarks were run against this system under different scenarios while only changing the consensus algorithm for each scenario. Results showed that Raft is the most performant consensus algorithm in Quorum in both private and public transactions. Additionally, QBFT achieved the same performance as IBFT, and Clique was the worst performer across the board, particularly due to having high resource-usage. Regarding fault-tolerance, it was found that bringing validator nodes down at random, when the network has high-availability, had no impact on networks under any of the consensus algorithms. |
id |
RCAP_9e3525038d341fdcf3dbef3f1380bc38 |
---|---|
oai_identifier_str |
oai:recipp.ipp.pt:10400.22/23439 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Exploração de algoritmos de consenso no QuorumBlockchainQuorumConsensus AlgorithmsIBFTQBFTCliqueRaftAs blockchain technology matures, more industries are becoming interested in evaluating if the technology can answer their needs for decentralized systems that guarantee data immutability and traceability. Quorum is a blockchain platform that accommodates enterprise use-cases by extending Ethereum to support private transactions and a higher transaction throughput. To achieve this, Quorum replaced Ethereum’s proof-of-stake consensus mechanism with proof-of-authority ones, supporting four different algorithms: Raft, Clique, IBFT 1.0, and QBFT. This work explores Quorum’s consensus algorithms and how they affect performance and fault-tolerance, in order to assess the best use cases for each and what should drive their choice. A GoQuorum network was set up, and benchmarks were run against this system under different scenarios while only changing the consensus algorithm for each scenario. Results showed that Raft is the most performant consensus algorithm in Quorum in both private and public transactions. Additionally, QBFT achieved the same performance as IBFT, and Clique was the worst performer across the board, particularly due to having high resource-usage. Regarding fault-tolerance, it was found that bringing validator nodes down at random, when the network has high-availability, had no impact on networks under any of the consensus algorithms.Com blockchain a entrar numa fase de maturidade, cada vez mais indústrias procuram avaliar se esta tecnologia responde às suas necessidades de sistemas distribuídos que garantam a imutabilidade e rastreabilidade dos seus dados. Quorum é uma plataforma blockchain que procura acomodar os casos de uso destas empresas ao extender Ethereum para suportar transações privadas e um maior número de transações por segundo. Para esse efeito, o Quorum substituiu o mecanismo de consenso proof-ofstake do Ethereum por um mecanismo de proof-of-authority, onde quatro algoritmos são suportados: Raft, Clique, IBFT 1.0, e QBFT. Este trabalho explora os algoritmos de consenso suportados pelo Quorum de modo a determinar como estes afetam o desempenho e tolerância a falhas das redes, e consequentemente perceber os melhores casos de uso para estes algoritmos e que fatores ter em conta aquando a sua escolha. Foi criada uma rede de GoQuorum, e vários testes de desempenho foram corridos contra a rede sob diferentes cenários, onde para cada cenário a única variável foi o algoritmo de consenso. Os resultados mostraram que o Raft foi o algoritmo de consenso com melhor desempenho, tanto em transações públicas como privadas. Adicionalmente, o QBFT e o IBFT atingiram o mesmo desempenho, e o Clique o pior de todos, particularmente pelo seu alto uso de recursos do sistema. Quanto a tolerância a falhas, foi concluído que trazer nós validadores abaixo aleatoriamente enquanto o sistema está configurado com alta disponibilidade não tem impacto nas redes, independentemente do algoritmo de consenso utilizado.Azevedo, Isabel de Fátima SilvaRepositório Científico do Instituto Politécnico do PortoLopes, João Pedro Ascensão2023-08-30T11:15:17Z20232023-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.22/23439TID:203345517enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-09-06T01:46:12Zoai:recipp.ipp.pt:10400.22/23439Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T20:28:17.833610Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Exploração de algoritmos de consenso no Quorum |
title |
Exploração de algoritmos de consenso no Quorum |
spellingShingle |
Exploração de algoritmos de consenso no Quorum Lopes, João Pedro Ascensão Blockchain Quorum Consensus Algorithms IBFT QBFT Clique Raft |
title_short |
Exploração de algoritmos de consenso no Quorum |
title_full |
Exploração de algoritmos de consenso no Quorum |
title_fullStr |
Exploração de algoritmos de consenso no Quorum |
title_full_unstemmed |
Exploração de algoritmos de consenso no Quorum |
title_sort |
Exploração de algoritmos de consenso no Quorum |
author |
Lopes, João Pedro Ascensão |
author_facet |
Lopes, João Pedro Ascensão |
author_role |
author |
dc.contributor.none.fl_str_mv |
Azevedo, Isabel de Fátima Silva Repositório Científico do Instituto Politécnico do Porto |
dc.contributor.author.fl_str_mv |
Lopes, João Pedro Ascensão |
dc.subject.por.fl_str_mv |
Blockchain Quorum Consensus Algorithms IBFT QBFT Clique Raft |
topic |
Blockchain Quorum Consensus Algorithms IBFT QBFT Clique Raft |
description |
As blockchain technology matures, more industries are becoming interested in evaluating if the technology can answer their needs for decentralized systems that guarantee data immutability and traceability. Quorum is a blockchain platform that accommodates enterprise use-cases by extending Ethereum to support private transactions and a higher transaction throughput. To achieve this, Quorum replaced Ethereum’s proof-of-stake consensus mechanism with proof-of-authority ones, supporting four different algorithms: Raft, Clique, IBFT 1.0, and QBFT. This work explores Quorum’s consensus algorithms and how they affect performance and fault-tolerance, in order to assess the best use cases for each and what should drive their choice. A GoQuorum network was set up, and benchmarks were run against this system under different scenarios while only changing the consensus algorithm for each scenario. Results showed that Raft is the most performant consensus algorithm in Quorum in both private and public transactions. Additionally, QBFT achieved the same performance as IBFT, and Clique was the worst performer across the board, particularly due to having high resource-usage. Regarding fault-tolerance, it was found that bringing validator nodes down at random, when the network has high-availability, had no impact on networks under any of the consensus algorithms. |
publishDate |
2023 |
dc.date.none.fl_str_mv |
2023-08-30T11:15:17Z 2023 2023-01-01T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10400.22/23439 TID:203345517 |
url |
http://hdl.handle.net/10400.22/23439 |
identifier_str_mv |
TID:203345517 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799133550723727360 |