Um guia para entender os algoritmos de consenso do Blockchain
Publicados: 2019-10-21Blockchain é uma rede distribuída descentralizada que oferece maior transparência, segurança e imutabilidade.
Todos nós sabemos disso!!
Mas, você já se perguntou como ele é capaz de conseguir tudo isso?
Quem governa esta rede e verifica cada transação, desde que não haja uma autoridade centralizada?
Parece interessante certo!
Bem, são os algoritmos de consenso Blockchain – A parte central do mundo de desenvolvimento Blockchain sobre a qual falaremos neste guia abrangente.
ÍNDICE:
- Definição do Algoritmo de Consenso Blockchain
- Objetivos de um mecanismo de consenso
- Algoritmos de consenso de blockchain que são populares no mercado
- Propriedades de um bom mecanismo de consenso Blockchain
- Consequências de confiar em um protocolo de consenso ruim
- perguntas frequentes
- Conclusão
O que é o Algoritmo de Consenso Blockchain?
A resposta mais simples para o que é o algoritmo de consenso Blockchain é que, é um procedimento através do qual todos os pares de uma rede Blockchain ou cada um comum aceitação ou consenso sobre o estado em tempo real do livro distribuído.
Um mecanismo de consenso permite que a rede blockchain obtenha confiabilidade e construa um nível de confiança entre diferentes nós, garantindo a segurança no ambiente. Esta é a razão pela qual é uma das partes vitais de todos os guias de desenvolvimento de aplicativos Blockchain e todos os projetos de dApp no ambiente de contabilidade distribuída.
Esses algoritmos operam com base em diferentes objetivos, alguns dos quais abordaremos na próxima seção deste artigo.
Objetivos do Mecanismo de Consenso Blockchain
1. Acordo Unificado
Um dos principais objetivos dos mecanismos de consenso é alcançar um acordo unificado.
Ao contrário dos sistemas centralizados, onde é necessário confiar na autoridade , os usuários podem operar mesmo sem criar confiança uns nos outros de maneira descentralizada. Os protocolos incorporados na rede blockchain distribuída garantem que os dados envolvidos no processo sejam verdadeiros e precisos, e o status do livro-razão público esteja atualizado.
2. Alinhar Incentivo Econômico
Quando se trata de construir um sistema sem confiança que regule por conta própria, alinhar os interesses dos participantes da rede é uma obrigação.
Um protocolo blockchain de consenso , nessa situação, oferece recompensas por bom comportamento e pune os maus atores. Dessa forma, garante também a regulação dos incentivos econômicos .
3. Justo e Equitativo
Mecanismos de consenso permitem que qualquer pessoa participe da rede e use os mesmos fundamentos. Dessa forma, justifica a propriedade de código aberto e descentralização do sistema blockchain.
4. Evite gastos duplos
Os mecanismos de consenso funcionam com base em certos algoritmos que garantem que apenas as transações que são verificadas e válidas sejam incluídas no livro público transparente. Isso resolve o problema tradicional do gasto duplo, ou seja, o problema de gastar uma moeda digital duas vezes.
5. Tolerante a Falhas
Outra característica do método Consensus é que ele garante que o blockchain seja tolerante a falhas, consistente e confiável. Isso significa que o sistema governado funcionaria indefinidamente mesmo no caso de falhas e ameaças.
Atualmente, há uma infinidade de algoritmos de consenso Blockchain no ecossistema e muitos outros estão entrando no mercado. Isso torna imperativo que todas as empresas de desenvolvimento Blockchain e empreendedores entusiastas estejam familiarizados com os fatores que definem um bom protocolo de consenso e o possível efeito de seguir um protocolo ruim.
Com os conceitos básicos dos métodos de consenso Blockchain sendo abordados, vamos nos aprofundar no tópico e examinar os tipos populares de mecanismo de consenso.
Algoritmos de consenso Blockchain populares no mercado
1. Prova de Trabalho (PoW)
Desenvolvido por Satoshi Nakamoto , o Proof of Work é o mecanismo de consenso mais antigo usado no domínio Blockchain. Também é conhecido como mineração, onde os nós participantes são chamados de mineradores.
Nesse mecanismo, os mineradores precisam resolver quebra-cabeças matemáticos complexos usando um poder computacional abrangente. Eles usam diferentes formas de métodos de mineração, como mineração de GPU, mineração de CPU, mineração ASIC e mineração de FPGA. E aquele que resolver o problema o quanto antes ganha um bloqueio como recompensa.
No entanto, o processo não é tão fácil. Um quebra-cabeça só pode ser resolvido através do método de tentativa e erro. Além disso, o nível de complexidade do quebra-cabeça aumenta com a velocidade com que os blocos são extraídos. Portanto, torna-se obrigatório criar um novo bloco dentro de um determinado período de tempo para lidar com o nível de dificuldade.
O mecanismo de Prova de Trabalho é usado por várias criptomoedas como Bitcoin, Litecoin, ZCash, Primecoin, Monero e Vertcoin, para citar alguns.
O algoritmo Bitcoin explicado neste mecanismo usa o nonce como um valor aleatório para variar a saída do valor de hash. No algoritmo de consenso do bitcoin, cada bloco destina-se a gerar um valor de hash, e o nonce é o parâmetro usado para gerar esse valor de hash.
Em termos de suas implementações, o Proof of Work (PoW) influenciou não apenas o setor financeiro, mas também saúde, governança, gestão e muito mais. De fato, ofereceu a oportunidade de pagamentos multicanal e transações com várias assinaturas em um endereço para aumentar a segurança.
2. Prova de Participação (PoS)
Proof of Stake é a alternativa mais básica e ecológica do protocolo de consenso PoW.
Neste método blockchain, os produtores de blocos não são mineradores, mas agem como validadores. Eles têm a oportunidade de criar um bloqueio sobre todos, o que economiza energia e reduz o tempo. No entanto, para que eles se tornem um validador, eles devem investir alguma quantia de dinheiro ou participação.
Além disso, diferentemente do caso do PoW, os mineradores têm o privilégio de receber suas taxas de transação nesse algoritmo, pois não há sistema de recompensa nesse modelo de consenso.
Isso, como um todo, encorajou marcas como Ethereum a atualizar seu modelo de PoW para PoS em sua atualização Ethereum 2.0 . Além disso, ajudou vários ecossistemas Blockchain como Dash, Peercoin, Decred, Reddcoin e PivX a funcionar corretamente.
Agora, embora o PoS tenha resolvido vários problemas anteriormente associados ao PoW, havia muitos desafios ainda sem poeira no mercado. Para mitigar esses desafios e fornecer um ambiente blockchain aprimorado, várias variações de PoS surgiram.
As duas variações populares de Proof of Stake (PoS) são DPoS e LPoS.
- Prova de Participação Delegada (DPoS)
No caso de Delegated Proof of Stake (DPoS), os participantes apostam sua moeda e votam em um certo número de delegados, de modo que quanto mais investem, mais peso recebem. Por exemplo: se o usuário A gasta 10 moedas para um delegado e o usuário B investe 5 moedas, o voto de A tem mais peso do que o de B.
Os delegados também são recompensados na forma de taxas de transação ou uma certa quantidade de moedas.
Por causa desse mecanismo de votação ponderado por participação, o DPoS é um dos modelos de consenso de blockchain mais rápidos e altamente preferido como democracia digital. Alguns dos casos de uso da vida real deste mecanismo de consenso blockchain são Steem, EOS e BitShares.
- Prova de participação alugada (LPoS)
LPoS é uma versão aprimorada do mecanismo de consenso PoS que opera na plataforma Waves .
Ao contrário do método Proof-of-Stake regular, onde cada nó com alguma quantidade de criptomoeda tem o direito de adicionar o próximo blockchain, os usuários podem alugar seu saldo para nós completos neste blockchain de algoritmo de consenso. E aquele que aluga a maior quantidade para o nó completo tem maior probabilidade de gerar o próximo bloco. Além disso, o arrendador é recompensado com uma porcentagem da taxa de transação que foi coletada pelo nó completo.
Esta variante PoS é uma opção eficiente e segura para o desenvolvimento de criptomoedas públicas.
3. Prova de Autoridade
A Prova de Autoridade é uma versão modificada da Prova de Participação na qual as identidades dos validadores na rede estão em jogo. Neste, para verificar a identidade do validador, a identidade é a semelhança entre a identificação pessoal dos validadores e sua documentação oficial. Esses validadores colocam sua reputação na rede. Na Prova de Autoridade, os nós (que se tornam validadores) são os únicos autorizados a produzir novos blocos. Os validadores cuja identidade está em risco são incentivados a proteger e preservar a rede blockchain. Nesta prova, o número de validadores é bastante pequeno, cerca de 25 ou menos.
4. Tolerância a Falhas Bizantinas (BFT)
A tolerância a falhas bizantinas, como o nome sugere, é usada para lidar com falhas bizantinas (também chamadas de Problema dos Generais Bizantinos) - uma situação em que os atores do sistema precisam concordar com uma estratégia eficaz para evitar falhas catastróficas do sistema, mas alguns dos eles são duvidosos.
Saiba mais sobre o problema dos generais bizantinos através deste vídeo: -
As duas variações do modelo de consenso BFT que são principais na arena Blockchain são PBFT e DBFT.
- Tolerância prática a falhas bizantinas (PBFT)
O PBFT é um algoritmo de blockchain leve que resolve os problemas do General Bizantino, permitindo que os usuários confirmem as mensagens que foram entregues a eles realizando um cálculo para avaliar a decisão sobre a validade da mensagem.
A parte então anuncia sua decisão para outros nós que, em última análise, processam uma decisão sobre ela. Dessa forma, a decisão final depende das decisões recuperadas dos outros nós.
Stellar, Ripple e Hyperledger Fabric são alguns casos de uso desse mecanismo de consenso blockchain.
- Tolerância a falhas bizantinas delegadas (DBFT)
Introduzido pelo NEO, o mecanismo Delegated Byzantine Fault Tolerance é semelhante ao modelo de consenso DPoS. Aqui também, os detentores do token NEO têm a oportunidade de votar nos delegados.
No entanto, isso é independente da quantidade de moeda que eles investem. Qualquer pessoa que preencha os requisitos básicos, ou seja, uma identidade verificada, equipamento certo e 1.000 GAS , pode se tornar um delegado. Um desses delegados é então escolhido como orador aleatoriamente.
O locutor cria um novo bloco a partir da transação que está esperando para ser validada. Além disso, ele envia uma proposta aos delegados votados que têm a responsabilidade de supervisionar todas as transações e registrá-las na rede. Esses delegados têm a liberdade de compartilhar e analisar as propostas para verificar a exatidão dos dados e a honestidade do palestrante. Se, então, 2/3 dos delegados o validar, o bloco é adicionado ao blockchain.
Esse tipo de protocolo de consenso Blockchain também é chamado de 'Ethereum of China' e pode ser um recurso útil na construção de uma 'economia inteligente' digitalizando ativos e oferecendo contratos inteligentes no blockchain.
5. Gráfico Acíclico Direto (DAG)
Outro modelo de consenso de blockchain básico, mas primordial, com o qual todas as empresas de serviços de desenvolvimento de aplicativos móveis que trabalham com Blockchain devem estar familiarizadas é o DAG.
Neste tipo de protocolo de consenso Blockchain, cada nó se prepara para se tornar os 'mineradores'. Agora, quando os mineradores são erradicados e as transações são validadas pelos próprios usuários, a taxa associada reduz a zero. Fica mais fácil validar transações entre quaisquer dois nós mais próximos, o que torna todo o processo leve, rápido e seguro.
Os dois melhores exemplos de algoritmos DAG são IOTA e Hedera Hashgraph .
Embora esses sejam os principais modelos de consenso no ambiente de desenvolvimento, muitos mecanismos de consenso de blockchain diferentes começaram lenta e gradualmente a ganhar impulso, como: -
6. Prova de Capacidade (PoC)
No mecanismo de Prova de Capacidade (PoC), soluções para cada enigma matemático complexo são acumuladas em armazenamentos digitais como discos rígidos. Os usuários podem usar esses discos rígidos para produzir blocos, de forma que aqueles que forem mais rápidos na avaliação das soluções tenham melhores chances de criar blocos.
O processo que se segue é chamado de Plotagem. As duas criptomoedas que dependem do protocolo de consenso blockchain PoC são Burstcoin e SpaceMint.
7. Prova de Queima (PoB)
Considerado uma solução alternativa para PoW e PoS em termos de consumo de energia, o modelo de consenso Proof of Burn (PoB) funciona com o princípio de permitir que os mineradores 'queimam' ou 'arruinam' os tokens de criptomoeda virtual, o que lhes dá ainda o privilégio de escrever blocos em proporção às moedas. Quanto mais moedas eles queimarem, maiores serão as chances de escolher o novo bloco para cada moeda que receberem.
Mas, para queimar moedas, eles são obrigados a enviá-lo para o endereço onde não pôde ser gasto para verificar o bloco.
Isso é amplamente empregado no caso de consenso distribuído. E o melhor exemplo desse mecanismo de consenso é a moeda Slim.
8. Comprovante de identidade (PoI)
O conceito de PoI (Prova de Identidade) é semelhante ao da identidade autorizada. É uma confirmação criptográfica para a chave privada de um usuário que está sendo anexada a cada transação específica. Cada usuário identificado pode criar e gerenciar um bloco de dados que pode ser apresentado a outros na rede.
Este modelo de consenso blockchain garante autenticidade e integridade dos dados criados. E assim, é uma boa escolha para a introdução de cidades inteligentes.
9. Prova de Atividade (PoA)
O PoA é basicamente uma abordagem híbrida projetada por meio da convergência dos modelos de consenso de blockchain PoW e PoS.
No caso do mecanismo PoA, os mineradores correm para resolver um quebra-cabeça criptográfico o mais rápido possível usando hardware especial e energia elétrica, assim como no PoW. No entanto, os blocos que eles encontram contêm apenas as informações sobre a identidade do vencedor do bloco e a transação de recompensa. É aqui que o mecanismo muda para PoS.
Os validadores (acionistas designados para validar as transações) testam e garantem a correção do bloqueio. Se o bloco foi verificado muitas vezes, os validadores ativam um bloco completo. Isso confirma que as transações abertas são processos e são finalmente integradas aos contêineres de blocos encontrados.
Além disso, a recompensa do bloco é dividida para que os validadores ganhem partes dela.
As duas implementações do mundo real desse mecanismo são as moedas Espers e Decred .
10. Comprovante de Tempo Decorrido (PoET)
O PoET foi introduzido pela Intel com a intenção de dominar os quebra-cabeças criptográficos envolvidos no mecanismo PoW, considerando o fato de que a arquitetura da CPU e a quantidade de hardware de mineração sabem quando e com que frequência um minerador vence o bloco.
Baseia-se na ideia de distribuir e expandir as probabilidades de forma justa para uma fração maior de participantes. E assim, cada nó participante é solicitado a aguardar um determinado momento para participar do próximo processo de mineração. O membro com o menor tempo de espera é solicitado a oferecer um bloqueio.
Ao mesmo tempo, cada nó também apresenta seu próprio tempo de espera, após o qual eles entram no modo de suspensão.
Assim, assim que um nó fica ativo e um bloco está disponível, esse nó é considerado o 'sorteado'. Esse nó pode então espalhar as informações por toda a rede, mantendo a propriedade de descentralização e recebendo a recompensa.
11. Prova de Importância (PoI)
Introduzido pela NEM , o PoI é uma variação do protocolo PoS que considera o papel dos acionistas e validadores para sua operação. No entanto, isso não é influenciado apenas pelo tamanho e chance de suas ações; vários outros fatores, como reputação, equilíbrio geral e não. de transações feitas através de qualquer endereço específico também desempenha um papel nisso.
As redes baseadas no modelo de consenso POI são caras para atacar e recompensam os usuários por contribuir para a segurança da rede.
As informações compartilhadas até agora teriam ajudado você a diferenciar os variados protocolos de consenso do Blockchain.
No entanto, para simplificar para você, aqui está uma tabela de comparação de algoritmos de consenso de blockchain.
Agora, vamos começar determinando o que faz um consenso Blockchain ser bom.
Propriedades de um bom mecanismo de consenso Blockchain
1. Segurança
Em um bom mecanismo de consenso, todos os nós são capazes de gerar resultados que são válidos de acordo com as regras do protocolo.
2. Inclusivo
Um bom mecanismo de blockchain de consenso garante que cada nó específico da rede participe do processo de votação.
3. Participativo
Um mecanismo de consenso em que todos os nós participam ativamente e contribuem para atualizar bancos de dados no Blockchain é chamado de modelo de consenso Bom.
4. Igualitário
Outra característica de um bom mecanismo é que ele dá valor e peso iguais a cada voto recebido do nó.
Com isso em mente , vamos descobrir o que acontece quando você não considera esses fatores e introduz um modelo de consenso ruim em seu processo de desenvolvimento.
Consequências da escolha de um protocolo de consenso ruim
1. Forquilhas Blockchain
Escolher um método de consenso de blockchain ruim aumenta a vulnerabilidade da cadeia. Uma dessas vulnerabilidades enfrentadas pelos entusiastas e desenvolvedores de blockchain é o Blockchain Forks.
Forks Blockchain, em uma linguagem leiga, é uma situação ou circunstâncias em que uma única cadeia diverge em duas ou mais. Uma explicação detalhada sobre o fork Blockchain e seus tipos está disponível no vídeo incorporado abaixo.
Quando ocorre um fork do Blockchain, o aplicativo começa a operar de maneira imprevisível, criando dois ou mais nós divergentes à frente.
2. Desempenho ruim
Quando um mecanismo de blockchain de consenso ruim é considerado, o nó fica com defeito ou sofre de partição de rede. Isso atrasa o processo de troca de mensagens entre os nós e aumenta a latência do aplicativo, o que acaba diminuindo o nível de desempenho.
3. Falha de consenso
Outro efeito de incorporar um mecanismo de consenso ruim ao seu modelo de negócios é a falha de consenso. Nessa situação, uma fração de nós deixa de participar de qualquer processo e, portanto, na ausência de seus votos, o consenso não entrega resultados precisos e desejados.
Com os conceitos básicos dos métodos de consenso Blockchain agora cobertos, vamos nos aprofundar no tópico e examinar os tipos populares de mecanismo de consenso.
Perguntas frequentes sobre algoritmos de consenso Blockchain
P. O que é o Protocolo de Consenso em Blockchain?
Um protocolo de consenso é um conjunto de regras ou procedimentos que governam como dois ou mais nós interagem, trocam informações e realizam processos associados no ecossistema Blockchain .
P. Qual modelo de consenso o Ethereum usa?
Anteriormente, o Ethereum estava trabalhando com o modelo de consenso PoW (Proof of Work). Mas agora mudou para o algoritmo de consenso blockchain PoS (Proof of Stake) .
Os pensamentos finais
No final, todos esses componentes têm um objetivo semelhante que é ter consenso em uma rede descentralizada. No entanto, mesmo tendo um objetivo compartilhado, esses mecanismos diferem na forma de abordar o consenso. Embora o consenso ideal ainda não exista, é fascinante e emocionante ver como os mecanismos de consenso se desenvolveram e se ajustaram a longo prazo às mudanças nos requisitos de um protocolo como este, e será inquestionavelmente emocionante observar a materialização de ideias inovadoras .
É importante escolher sabiamente aquele de acordo com a necessidade da rede de negócios, pois as redes Blockchain não podem funcionar corretamente sem os algoritmos de consenso para confirmar todas as transações que estão sendo confirmadas.