Guia do iniciante: o que é algoritmo de consenso?
O algoritmo de consenso tem um lugar importante na ciência da computação. Ele é usado por computadores para chegar a um acordo sobre um único ponto do valor dos dados. É usado apenas em sistemas ou processos distribuídos.
Você deve ter ouvido falar sobre algoritmo de consenso por meio de blockchain ou bitcoin. Hoje, temos a chance de abordar o assunto em detalhes e também entender seu papel nos sistemas distribuídos.
Então, o que vamos discutir? Vamos listá-los abaixo.
- Como funciona o algoritmo de consenso?
- Aplicação de algoritmo de consenso.
- Tipos de algoritmos de consenso
Vamos começar.
Como funciona o algoritmo de consenso?
Para uma rede distribuída, não é comum que todos os nós do sistema estejam online sempre que um consenso é necessário. Além disso, há chances de que algumas informações sejam perdidas durante a transmissão.
O algoritmo de consenso resolve o maior problema pelo qual passa um sistema distribuído ou multiagente. Garante que o consenso seja alcançado com o mínimo de recursos, mantendo integridade e transparência nas decisões que toma.
Para garantir que todo o sistema seja tolerante a falhas, o algoritmo de consenso exige apenas uma resposta de 51% dos recursos de cada vez. Vamos tentar entender isso usando um exemplo de algoritmo de consenso PoW. Uma pessoa envia 0,2 BTC de sua carteira para outra carteira. Para garantir que a transação seja concluída, o minerador extrai o bloco em que a transação deve estar. Agora, os mineradores começam a extrair o bloco. Depois de um tempo, ele será validado quando o sistema fizer o mínimo necessário para as validações. No caso do BTC, são necessárias apenas seis validações para chegar a um consenso.
Existem muitos tipos de algoritmo de consenso no momento em que este artigo foi escrito. Isso significa que o funcionamento interno depende do tipo de algoritmo de consenso usado.
Aplicação do algoritmo de consenso
Existem diferentes aplicações de algoritmo de consenso. Embora seja usado principalmente para o sistema descentralizado, é igualmente útil em um sistema centralizado. Para entender melhor, vamos listar os casos de uso do algoritmo de consenso.
- A aplicação mais básica do algoritmo é decidir se uma transação em um ambiente distribuído precisa ser implementada ou não. A maioria das redes blockchain o usa.
- O algoritmo de consenso também é muito útil para atribuir a um nó um status de líder.
- Por último, mas não menos importante, eles também são usados para sincronizar dados em toda a rede descentralizada e garantir que a consistência seja alcançada.
Tipos de algoritmos de consenso
Existem muitos tipos de algoritmos de consenso. Neste artigo, cobriremos apenas os mais populares. Então, sem qualquer demora, vamos começar.
(1) Prova de Trabalho (PoW)
Prova de trabalho é o algoritmo de consenso mais popular que existe. Bitcoin, Litecoin e Ethereum o usam. Ele foi criado por Satoshi Nakamoto quando ele o usou em sua implementação de Bitcoin. No entanto, também é a maneira mais ineficiente de obter consenso em um blockchain, pois requer uma quantidade considerável de poder computacional. Funciona pedindo aos mineiros que resolvam problemas matemáticos complexos. Uma vez que o hash é resolvido, o bloco é extraído e a transação é validada ao mesmo tempo.
Ao resolver, eles criam blocos que mais tarde são adicionados ao blockchain. Para que isso funcione, 50% do trabalho sempre tem que ser honesto.
(2) Prova de Participação (PoS)
Nosso próximo algoritmo de consenso mais popular é a Prova de Participação. É usado por Peercoin, Decreed e logo Ethereum. Funciona pondo moedas numa carteira. Os nós que apostaram suas moedas terão uma palavra a dizer quando for necessário chegar a um consenso. O bom do PoS é que ele não exige muita energia computacional.
O recurso de gasto, neste caso, são os próprios tokens. Se um nó de piquetagem não votar na transação correta, eles perderão sua aposta. Se for bem-sucedido, terá melhores chances de apostar quando uma próxima transação ocorrer.
Assim como outro algoritmo de consenso, o PoS também tem sua fraqueza. É “Nada em jogo”. Funciona validando ambos os lados de uma bifurcação. Recentemente, escrevemos sobre a diferença entre PoW e PoS.
(3) Prova de participação delegada (DPoS)
A Prova de Participação Delegada pode soar semelhante ao PoS, mas é diferente em sua abordagem. A primeira coisa que os diferencia é que o DPoS não é totalmente descentralizado. Neste sistema, os stakers não valida os blocos, mas eles escolhem delegados.
Esses delegados então validam cada transação. Geralmente, qualquer sistema descentralizado tem de 20 a 21 delegados que verificam as transações. Isso torna o DPoS excepcionalmente eficiente e é usado por EOS, Steemit e outros.
(4) Algoritmo de consenso de prova de autoridade (PoA)
O último algoritmo de consenso que vamos discutir é a Prova de Autoridade. É usado para o sistema totalmente centralizado. Isso significa que as contas aprovadas (escolhidas pelos administradores do sistema) fazem as validações na rede. É usado principalmente em redes privadas devido à sua natureza centralizada.
Conclusão
Agora, você deve ter uma compreensão adequada do algoritmo de consenso. Se você tiver alguma dúvida, pode sempre usar a seção de comentários abaixo!
Confira nosso guia definitivo para a tecnologia Blockchain