Prós e contras dos algoritmos de consenso mais conhecidos

No artigo anterior desta coluna, vimos o que é um mecanismo de consenso e qual sua importância em uma plataforma blockchain. Hoje, vamos analisar os algoritmos de consenso mais conhecidos. 

Confira abaixo uma lista com prós e contras de 10 algoritmos de consenso.

  • Ficou com alguma dúvida? O BeInCrypto possui uma série de artigos para lhe ajudar a entender o universo cripto. Confira!
  • Se quiser ficar atualizado no que acontece de mais importante no espaço cripto, junte-se ao nosso grupo no Telegram!

Prova de trabalho (PoW)

Os participantes do blockchain (chamados mineradores) precisam resolver um problema computacional complexo (um quebra-cabeça matemático), mas inútil, para adicionar um bloco de transações ao blockchain.

Basicamente, isso é feito para garantir que os mineradores estejam colocando algum dinheiro/recursos (máquinas de mineração) para fazer o trabalho, o que mostra que eles não prejudicarão o sistema blockchain, pois prejudicar o sistema resultaria na perda de seu investimento;  prejudicando-os.

A dificuldade do problema pode ser alterada em tempo de execução, para garantir a constância de tempo do bloco.  Às vezes, há uma situação em que mais de um minerador resolve o problema simultaneamente.  Nesse caso, os mineradores escolhem uma das redes e a rede mais longa é considerada a vencedora.  Portanto, supondo que a maioria dos mineradores esteja trabalhando na mesma rede, aquela que crescerá mais rapidamente será a mais longa e confiável.  Portanto, o Bitcoin é seguro desde que mais de 50% do trabalho realizado pelos mineradores seja honesto.

Tipo: Consenso competitivo

É o primeiro algoritmo de consenso (proposto por Satoshi Nakamoto introduzido em seu artigo) para criar consenso distribuído sem um terceiro validador de confiança, e resolve o problema do gasto duplo. O POW não é uma ideia nova, mas a maneira como Satoshi combinou este e outros conceitos existentes – assinaturas criptográficas, redes merkle e redes P2P – em um sistema de consenso distribuído viável, do qual a criptomoeda é a primeira e básica aplicação, foi bastante inovadora.

Quem usa?

  • Bitcoin;
  • Ethereum;
  • Litecoin;
  • Dogecoin.

Prós

  • Ele vem sido utilizado desde 2009 pelo Blockchain Bitcoin, tendo suportado o equivalente a  1 (um) trilhão de dólares, a e permanece estável até hoje. Se provou capaz de evitar o gasto duplo e nunca foi hackeado.

Contras: 

  • É lento: o que pode ser resolvido com a rede Lightning que é uma tecnologia de camada 2 aplicada ao Bitcoin que usa canais de micropagamento para dimensionar a capacidade do blockchain de realizar transações com mais eficiência. As transações realizadas em redes Lightning são mais rápidas, menos onerosas e prontamente confirmadas, se comparadas com aquelas realizadas diretamente no blockchain do Bitcoin (ou seja, on-chain).
  • Ao retirar as transações da blockchain principal e torná-las off-chain, a rede Lightning foi projetada para descongestionar a blockchain do Bitcoin e reduzir as taxas de transação associadas.  Ela também pode ser usada para realizar outros tipos de transações fora da cadeia envolvendo trocas entre criptomoedas.
  • Consome muita energia. O uso de fontes de energias renováveis pelos mineradores, contudo, não causa danos ao meio ambiente.
  • É suscetível a economias de escala.

Prova de participação (PoS)

A prova de participação (PoS) foi introduzida para evitar o alto consumo de energia. A mineração requer muito poder computacional para executar diferentes cálculos criptográficos para desbloquear os desafios computacionais.  O poder de computação se traduz em uma grande quantidade de eletricidade e energia necessária para a prova de trabalho.

Além disso, atacar um sistema PoS é mais caro do que atacar um sistema PoW, segundo Vlad Zamfir. Isso significa que você perde sua aposta toda vez que ataca um sistema PoS, enquanto no PoW você não perde seu equipamento de mineração ou suas moedas se atacar o sistema;  em vez disso, você apenas dificulta a execução (atacar um sistema PoW).

Mas um problema que pode surgir é o problema do “nothing-at-stake” (nada em jogo), em que os geradores de blocos não têm nada a perder votando em vários históricos de blockchain (forks), impedindo assim que o consenso seja alcançado.

Isto porque, diferentemente dos sistemas de prova de trabalho (onde você precisa fazer muita computação para estender uma cadeia), há pouco custo para trabalhar em várias cadeias. Muitos projetos tentaram resolver este problema de diferentes maneiras (mencionados em leituras adicionais). Por ex.  como dito acima, uma das soluções é punir os validadores ruins.

Tipo: Consenso competitivo

A prova de participação foi criada como alternativa à prova de trabalho (PoW), para resolver questões inerentes a esta.  Aqui, em vez de usar mineração, você precisa ter alguma participação / aposta (moedas) no sistema.  Portanto, se você possui 10% da participação (moedas), sua probabilidade de minerar o próximo bloco será de 10%.

Quem usa

  •  Ethereum (em breve);
  • Peercoin;
  • Nxt.

Prós

  • Eficiente energeticamente.
  • Mais caro para atacar.
  • Não suscetível a economias de escala.

Contras

Delayed Proof-of-Stake (dPow)

O blockchain que depende do dPoW pode usar os métodos de consenso Proof of Work (PoW) ou Proof of Stake (PoS) para funcionar;  e pode se conectar a qualquer blockchain PoW desejado. No entanto, a taxa de hash do Bitcoin atualmente fornece o maior nível de segurança para blockchains protegidos por dPoW.  

Existem dois tipos de nós dentro de um sistema dPoW: nodes notários e nodes normais.  Os 64 nodes notários são eleitos pelas partes interessadas do blockchain dPoW para adicionar (notarizar) blocos confirmados do blockchain dPoW no blockchain PoW anexado.  Depois que um bloco é concluído, seu hash é adicionado a uma transação Bitcoin assinada por 33 dos nós notariais, criando um registro de hashes de bloco dPoW na blockchain Bitcoin que foram autenticados pela maioria dos nodes notariais da rede.

 Para evitar guerras de mineração entre os notários, o que reduziria a eficiência da rede, a Komodo desenvolveu um método de mineração round-robin que opera em dois modos.  O modo “No Notary” permite que todos os nós da rede minerem blocos, semelhante a um mecanismo tradicional de consenso PoW;  no entanto, no modo “Notaries Active”, os notários da rede irão minerar a uma taxa de dificuldade de rede significativamente reduzida.  Dentro deste esquema, cada notário pode minerar um bloco em sua taxa de dificuldade atual, enquanto os outros nodes notariais devem minerar 10 vezes mais e todos os nós normais sempre minerarão em 100 vezes a taxa de dificuldade dos nós notários.

Mas isso causa alguns problemas. Pode levar a grandes diferenças entre o hashrate dos mineradores notários e os mineradores normais.

O sistema dPoW foi projetado para permitir que o blockchain continue funcionando sem os nós notariais.  Em tal situação, o blockchain dPoW pode continuar operando com base em seu método de consenso inicial;  no entanto, não teria mais a segurança adicional do blockchain anexado.

A Prova de Trabalho atrasada, então, permite maior segurança e uso reduzido de energia para qualquer blockchain que faça uso desse método de consenso.  Por exemplo, como o Komodo usa o algoritmo de hash Equihash para impedir a mineração com ASICs e se baseia em um método round-robin de mineração para nós notariais, os incentivos são estruturados para reduzir a possibilidade de que a competição entre os nós leve ao uso excessivo de energia ou computação  potência.

Além disso, um blockchain dPoW como o Komodo pode agregar valor a outros blockchains fornecendo indiretamente segurança do Bitcoin sem pagar o custo das transações Bitcoin: Um terceiro blockchain usando dPoW pode se anexar ao Komodo, que é posteriormente anexado ao Bitcoin.  Dessa forma, as blockchains dPoW podem se beneficiar da alta taxa de hash do Bitcoin sem precisar estar diretamente conectada à blockchain do Bitcoin.

Finalmente, as funções separadas de nós notariais e nós normais dentro do sistema garantem que o mecanismo de consenso inicial continue a operar no caso de os nós notariais falharem.  Essa interdependência cria um incentivo para que outras redes suportem a manutenção contínua da rede Bitcoin sem depender inteiramente de sua funcionalidade direta.

Tipo: Consenso colaborativo

Delayed Proof of Work (dPoW) é um método de consenso híbrido que permite que um blockchain aproveite a segurança fornecida por meio do poder de hash de um blockchain secundário. Isso é alcançado por meio de um grupo de nós de notários que adicionam dados do primeiro blockchain ao segundo, o que exigiria que ambos os blockchains fossem comprometidos para prejudicar a segurança do primeiro. O primeiro a fazer uso desse método de consenso é o Komodo, que é anexado ao blockchain do Bitcoin.

Quem usa

Prós

  • Eficiência energética;
  • Maior segurança;
  • Pode agregar valor a outras blockchains fornecendo indiretamente segurança do Bitcoin (ou qualquer rede segura) sem pagar o custo das transações de Bitcoin (ou qualquer rede segura).

Contras

  • Apenas blockchains usando PoW ou PoS podem fazer parte desse consenso;
  • No modo “Notaries Active” o hashrate para diferentes nodes (notary e nodes normais) deve ser calibrado; caso contrário, a diferença entre os hashrates pode explodir (veja abaixo para entender melhor).

Delegated Proof-of-Stake (DPoS)

No caso do blockchain EOS, 21 testemunhas são eleitas de cada vez e um conjunto de nodes (testemunhas potenciais) é mantido em espera para que, se algum dos nós testemunha morrer ou fizer alguma atividade maliciosa, ele possa ser substituído por um novo nó imediatamente. As testemunhas recebem uma taxa pela produção de blocos. A taxa é definida pelos detentores de participação.

Normalmente, todos os nodes produzem blocos, um de cada vez, de forma round-robin. Isso impede que um nó publique blocos consecutivos, impedindo que ele execute ataques de gasto duplo. Se uma testemunha não produzir um bloco em seu intervalo de tempo, esse intervalo de tempo será ignorado e a próxima testemunha produzirá o próximo bloco. Se uma testemunha continuamente perde seus blocos ou publica transações inválidas, os stakers o eliminam e o substituem por uma testemunha melhor.

No DPoS, os mineradores podem colaborar para fazer blocos em vez de competir, como no PoW e no PoS. Ao centralizar parcialmente a criação de blocos, o DPoS é capaz de executar ordens de magnitude mais rapidamente do que a maioria dos outros algoritmos de consenso. o EOS (que usa dPoS+aBFT) é o primeiro blockchain a atingir um tempo de bloco de 0,5 segundo, que é considerado rápido.

Quem usa

Prós

  • Eficiência energética;
  • Rápido.

Contras

  • Um pouco centralizado.
  • Os participantes com apostas altas podem votar para se tornar um validador.  Algo que é visto na EOS.

Tipo: consenso colaborativo

No DPoS, os stakeholders do sistema podem eleger líderes (testemunhas) que votarão em seu nome.  Isso o torna mais rápido que o PoS normal.

Proof-of-Authority (PoA)

Em redes baseadas em PoA, transações e blocos são validados por contas aprovadas, conhecidas como validadores.  Os validadores executam software que lhes permite colocar transações em blocos.  O processo é automatizado e não exige que os validadores estejam constantemente monitorando seus computadores.  No entanto, requer manter o computador (o node de autoridade) sem comprometimentos.

As três principais condições que devem ser cumpridas para que um validador seja estabelecido são:

  1. A identidade deve ser formalmente verificada on-chain, com a possibilidade de cruzar as informações em um domínio disponível publicamente;
  2. A elegibilidade deve ser difícil de obter, para fazer o direito de validar os blocos ganhos e valorizados.  (Exemplo: os validadores potenciais são obrigados a obter licença de cartório);
  3. Deve haver total uniformidade nas verificações e procedimentos para estabelecer uma autoridade.

Tipo: consenso colaborativo

Com o PoA, os indivíduos ganham o direito de se tornarem validadores, portanto, há um incentivo para manter a posição que conquistaram.  Ao atribuir uma reputação à identidade, os validadores são incentivados a manter o processo de transação, pois não desejam ter suas identidades atreladas a uma reputação negativa, perdendo assim o papel de validador.

Quem usa

Prós

  • Eficiência energética;
  • Rápido.

Contras

  • Um pouco centralizado. Pode ser usado em blockchains públicos, mas geralmente é usado em privados e autorizados.

Proof-of-Elapsed Time (PoET)

Cada nó participante da rede é obrigado a esperar por um período de tempo escolhido aleatoriamente, e o primeiro a completar o tempo de espera designado ganha o novo bloco. Cada nó na rede blockchain gera um tempo de espera aleatório e entra em suspensão por essa duração especificada. Aquele que acordar primeiro — ou seja, aquele com o menor tempo de espera — envia um novo bloco para o blockchain, transmitindo as informações necessárias para toda a rede de pares. O mesmo processo se repete para a descoberta do próximo bloco.

O mecanismo de consenso da rede PoET precisa garantir dois fatores importantes. Primeiro, que os nós participantes selecionem genuinamente um tempo que é realmente aleatório e não uma duração mais curta escolhida propositalmente pelos participantes para ganhar, e, dois, o vencedor de fato completou o tempo de espera.

O conceito do PoET foi inventado no início de 2016 pela Intel, a famosa gigante da fabricação de chips. Ele oferece uma ferramenta de alta tecnologia pronta para resolver o problema de computação da “eleição aleatória do líder”.

O mecanismo arraigado permite que os aplicativos executem código confiável em um ambiente protegido, e isso garante que ambos os requisitos sejam atendidos.

O mecanismo de execução de código confiável em um ambiente seguro também atende a outras necessidades da rede. Ele garante que o código confiável realmente seja executado dentro do ambiente seguro e não seja alterável por nenhum participante externo. Também garante que os resultados sejam verificáveis ​​por participantes e entidades externas, aumentando assim a transparência do consenso da rede.

O PoET controla o custo do processo de consenso e o mantém ágil para que o custo permaneça proporcional ao valor derivado do processo, um requisito fundamental para que a economia de criptomoedas continue florescendo.

Tipo: consenso competitivo

O PoET é um algoritmo de mecanismo de consenso que é frequentemente usado nas redes blockchain permissionadas para decidir os direitos de mineração ou os vencedores do bloco na rede. Estas redes são aquelas que exigem que qualquer participante em potencial se identifique antes de poder ingressar.

Com base no princípio de um sistema justo de loteria, onde cada nó tem a mesma probabilidade de ser um vencedor, o mecanismo PoET é baseado em distribuir as chances de ganhar de forma justa pelo maior número possível de participantes da rede.

Quem usa

Prós

  • Baixo custo de participação. Mais pessoas podem participar facilmente, portanto, descentralizada;
  • É simples para todos os participantes verificarem se o líder foi legitimamente selecionado;
  • O custo de controlar o processo de eleição do líder é proporcional ao valor obtido com ele.

Contras

  • Mesmo sendo barato, você precisa usar hardware especializado. Assim, não pode ser adotado em massa;
  • Não é adequado para blockchains públicos.

Proof-of-Space (PoSpace)

As provas de espaço são muito semelhantes às provas de trabalho, exceto que, em vez de computação, é usado o armazenamento. A prova de espaço está relacionada, mas também consideravelmente diferente, a funções de memória e provas de recuperabilidade.

Uma prova de espaço é um dado que um provador envia a um verificador para provar que reservou uma certa quantidade de espaço. Por praticidade, o processo de verificação precisa ser eficiente, ou seja, consumir uma pequena quantidade de espaço e tempo.

Por questões de solidez, deve ser difícil para o provador passar na verificação se ele realmente não reservar a quantidade de espaço reivindicada.  Uma maneira de implementar o PoSpace é usando hard-to-pebble graphics. O verificador pede ao provador que construa uma rotulagem de hard-to-pebble graph. O provador se compromete com a rotulagem. O verificador, então, pede ao provador para abrir vários locais aleatórios no compromisso.

As provas de espaço são vistas como uma alternativa mais justa e ecológica devido à natureza de uso geral do armazenamento e ao menor custo de energia exigido pelo armazenamento.

Tipo: Consenso Colaborativo

A prova de espaço (PoSpace), também chamada de prova de capacidade (PoC), é um meio de mostrar que alguém tem um interesse legítimo em um serviço (como enviar um e-mail) alocando um valor não trivial de memória ou espaço em disco para resolver um desafio apresentado pelo provedor de serviços.

O conceito foi formulado por Dziembowski em 2015. O artigo, embora também intitulado Proof-of-space, é de fato um protocolo de prova de trabalho com memória rígida.

Quem usa:

Prós

  • Semelhante ao PoW, mas usa espaço em vez de computação.  Assim muito amigo do ambiente.
  • Pode ser usado para detecção de malware, determinando se o cache L1 de um processador está vazio (por exemplo, tem espaço suficiente para avaliar a rotina PoSpace sem falhas de cache) ou contém uma rotina que resistiu a ser despejada.
  • Pode ser usado para medidas anti-spam e prevenção de ataques de negação de serviço.

Contras:

  • O incentivo pode ser um problema.

Proof-of-History (PoH)

Apesar de conhecido como mecanismo de consenso, a Solana faz um “alerta” em seu site, afirmando que o “Proof of History não é um mecanismo de consenso, mas é usado para melhorar o desempenho do consenso do Proof of Stake da Solana. Também é usado para melhorar o desempenho dos protocolos do plano de dados”. De todo o modo, o PoH está nesta lista porque é visto por muitos como tal.

Quando você tira uma fotografia com a capa do New York Times, você está criando uma prova de que sua fotografia foi tirada depois que o jornal foi publicado, ou você tem alguma forma de influenciar o que o New York Times publica. 

Com o Proof-of-history, você pode criar um registro histórico que prova que um evento ocorreu em um momento específico. Vale a pena assistir a este vídeo para compreender melhor.

O Proof-of-history é uma Verifiable Delay Function (Função de Atraso Verificável) de alta frequência. Ela requer um número específico de etapas sequenciais para avaliar, mas produz uma saída única que pode ser verificada de forma eficiente e pública.

Essa implementação específica usa um hash sequencial resistente à pré-imagem que é executado continuamente com a saída anterior usada como a próxima entrada.  Periodicamente, a contagem e a saída atual são registradas.

Para uma função de hash SHA256, é impossível paralelizar esse processo sem um ataque de força bruta usando 2¹²⁸ núcleos.

Podemos então ter certeza de que o tempo real passou entre as cada contador conforme foi gerado e que a ordem registrada de cada contador é a mesma que era em tempo real.

Quem usa

A ideia básica aqui é que, em vez de confiar no registro de data e hora da transação, você pode provar que a transação ocorreu em algum momento antes e depois de um evento.

Você pode encontrar mais detalhes aqui.

Contras

  • É um mecanismo de consenso muito novo, que precisa de tempo para provar se suporta muita atividade na rede. Já foi hackeado algumas vezes, devido à centralização da rede.

Ouroboros

Uma variação do proof-of-stake com rigorosas garantias de segurança usada pela Cardano.

O Ouroboros incorpora um mecanismo de compartilhamento de recompensas para incentivar os participantes a se oganizarem em nós operacionais, conhecidos como pools de participação, que podem oferecer uma boa qualidade de serviço independentemente de como a participação é distribuída entre a população de usuários.

Dessa forma, todos os stakeholders contribuem para o funcionamento do sistema – garantindo robustez e representatividade democrática – enquanto o custo de manutenção do livro razão é distribuído de forma eficiente pela população de usuários.

Ao mesmo tempo, o mecanismo tem contramedidas que desincentivam a centralização. Isso torna o Ouroboros fundamentalmente mais inclusivo e descentralizado em comparação com outros protocolos que acabam com apenas um punhado de atores responsáveis ​​pela manutenção do livro-razão ou não oferecem incentivos para as partes interessadas participarem e oferecerem uma boa qualidade de serviço.

Quem usa

  • Cardano

Prós:

  • Eficiência energética;
  • Favorece a descentralização;
  • O protocolo de consenso de prova de participação Ouroboros provou ter as mesmas garantias de segurança que a prova de trabalho.

Rigorosas garantias de segurança são estabelecidas pela Ouroboros e foram entregues com diversos artigos revisados ​​por pares que foram apresentados em conferências e publicações de primeira linha na área de segurança cibernética e criptografia.  

Diferentes implementações do Ouroboros foram desenvolvidas. Para mais detalhes sobre cada sabor do Ouroboros, você pode ler as especificações técnicas para Classic, Byzantine Fault Tolerance (BFT), Genesis, Praos e, mais recentemente, a solução de escalabilidade Hydra.

Contra

  • É um mecanismo de consenso promissor, mas muito novo, que precisa de tempo para provar se suporta muita atividade na rede.

Byzantine Fault Tolerance (BFT)

Há esse problema clássico da computação distribuída que geralmente é explicada com generais bizantinos. Aa analogia é que vários generais bizantinos e suas respectivas porções do exército cercaram uma cidade. Eles devem decidir em uníssono se atacam ou não.

Se alguns generais atacarem sem os outros, seu cerco terminará em tragédia. Os generais costumam estar separados por distância e precisam passar mensagens para se comunicar. Vários protocolos de criptomoeda usam alguma versão do BFT para chegar a um consenso, cada um com seus próprios prós e contras:

Tolerância a falhas bizantinas práticas (PBFT): 

Uma das primeiras soluções para este problema foi cunhada Tolerância a falhas bizantinas práticas. Atualmente em uso pelo Hyperledger Fabric, com poucos generais pré-selecionados (mais de 20, depois disso as coisas ficam um pouco), o PBFT é executado de forma incrivelmente eficiente.

Prós:

  • Alta taxa de transferência de transações

Contras:

  • Centralizado/permitido

Acordo Bizantino Federado (FBA): 

O FBA é outra classe de soluções para o problema dos generais bizantinos usada por moedas como Stellar e Ripple.  A ideia geral é que cada general bizantino, responsável por sua própria cadeia, classifique as mensagens à medida que chegam para estabelecer a verdade.

Na Ripple, os generais (validadores) são pré-selecionados pela fundação.  Já no Stellar, qualquer pessoa pode ser um validador, então você escolhe em quais validadores confiar.

Por sua incrível taxa de transferência, baixo custo de transação e escalabilidade de rede, a classe FBA de algoritmos de consenso é a melhor que descobrimos para consenso distribuído.

Quem usa:

10.1) Prós:

  • Rápido.  
  • Escalável.

10.2) Contras:

  •  Geralmente usado para redes privadas com permissão.

Estes são os algorítmos de consenso mais conhecidos. Aqui, nosso intuito não foi esgotar a lista, mas apenas mostrar alguns mecanismos de consenso mais utilizados e explorar pros e contras, tipos de consenso, funcionamento, quem utiliza, dentre outros.

O artigo Prós e contras dos algoritmos de consenso mais conhecidos foi visto pela primeira vez em BeInCrypto Brasil.

Você pode gostar...