Carregando...

Consenso: ou os tipos de consenso que você deve conhecer

blockchain

Conteúdo

Compartilhar link:

Quando o termo “blockchain” é mencionado em algum contexto, geralmente vem de mãos dadas com o complexo termo “algoritmo de consenso”. A maioria dos leitores nem pensa em se preocupar em pesquisar o que é um algoritmo de consenso. Na verdade, a maioria nem sabe para que serve um algoritmo no contexto da blockchain. Ainda assim, existem dezenas de tipos de algoritmos e a maioria deles é usada no mundo blockchain.

A ideia de um consenso é chegar a uma posição unificada sobre um problema. Na ciência da computação, um consenso está relacionado a um problema de consenso. O problema fundamental na computação distribuída e nos sistemas multiagentes é alcançar a confiabilidade geral do sistema na presença de vários processos defeituosos. Isso geralmente requer que os processos concordem com alguns dados necessários durante a computação. O blockchain é prejudicado pelo mesmo problema e cientistas e programadores têm encontrado maneiras de resolvê-lo.

Em essência, um algoritmo é uma série de passos analisados, programados e necessários para alcançar um determinado resultado. O algoritmo de consenso, portanto, significa tomar as ações necessárias para chegar a um acordo sobre uma única questão. No mundo blockchain, esse único problema significa chegar a um acordo sobre o cálculo de um bloco por todos os participantes da rede para que possa ser hash.

No mundo Blockchain

Quando se trata de blockchain, o algoritmo de consenso pode ter vários resultados como objetivo principal de todos os participantes da rede. Os propósitos mais comuns do algoritmo são os seguintes:

  • Acordo: O mecanismo de consenso reúne todos os acordos do grupo de participantes da rede.
  • Colaboração: Cada membro do grupo visa chegar a um melhor acordo que corresponda ao interesse do grupo como um todo.
  • Cooperação: Cada indivíduo trabalha em equipe e coloca seus próprios interesses de lado pelo bem maior.
  • Igualdade de direitos: Cada participante tem o mesmo valor no processo de votação. Sob tal abordagem, cada voto conta, pois sem um único voto, o consenso não passará.
  • Participação: Todos dentro da rede precisam participar do processo de votação. Ninguém ficará de fora ou poderá ficar de fora da votação, pois isso interromperá o funcionamento do algoritmo.
  • Atividade: todos os membros do grupo são igualmente ativos. A responsabilidade no grupo é compartilhada igualmente entre todos os participantes.

tipos

Na verdade, existem mais de 30 tipos de algoritmos de consenso atualmente disponíveis. Os mais comuns são os seguintes:

  • Prova de trabalho
  • Prova de aposta
  • Prova de participação delegada
  • Prova de autoridade
  • Tolerância a Falhas Bizantinas
  • Tolerância de falha bizantina delegada (dBFT)

E assim por diante. A lista pode ser continuada ad infinitum, mas o fato é que todos os algoritmos mencionados aqui e todos os outros que não se encaixam no material fornecido servem a propósitos igualmente importantes, que giram em torno de chegar a um consenso. A única coisa que muda é o método que eles usam para alcançá-lo.

O Hall da Fama

Naturalmente, os tipos mais populares de algoritmos de consenso são Proof-of-Work e Proof-of-Stake, que surgiram junto com o blockchain como o primogênito.

A prova de trabalho é o tipo de consenso mais antigo no blockchain e existe desde o início de 2003 com o nascimento do Bitcoin e está em fase de teste desde 2009. Embora não seja novo, o algoritmo ganhou vida nova com Satoshi Nakamoto. Sob seu método proposto, os participantes do blockchain (os mineradores) precisam resolver um problema computacional complexo e totalmente inútil para que um bloco de transações possa ser adicionado ao blockchain. Os problemas com esta abordagem são numerosos. É lento, consome muita energia e não é amigo do ambiente, além de ser suscetível a economias de escala.

O próximo passo é o conceito de Proof-of-Stake. Esta abordagem surgiu como uma alternativa a esta última e propôs que ao invés de usar a mineração para trac blocos, os participantes da rede precisam ter algumas participações na forma de moedas no sistema para poderem participar do processo. Possuir uma participação de 10% concede a probabilidade de minerar o próximo bloco em 10%. Quanto mais moedas o proprietário da estaca tiver, maior a chance de trac o bloco. A abordagem também é falha, pois é propensa ao problema do nada em jogo. No entanto, é menos intensivo em energia, não suscetível a economias de escala e mais protegido contra ataques.

Não importa a abordagem usada para chegar ao consenso, os problemas ainda são basicamente os mesmos e ecoam de um para o outro. Os maiores problemas enfrentados por todos os modelos de consenso são os seguintes:

O consumo de energia é de longe o maior problema da operação blockchain. Por exemplo, Bitcoin tem 20 bilhões de hashes por segundo. Isso requer imensas quantidades de energia e não há alternativas de energia baratas no momento para satisfazer o desejo de energia dos blockchains modernos.

A centralização dos mineradores nas redes PoW é outro problema, pois grandes fabricantes podem começar a exigir mais energia para operar e tentarão burlar as regras do sistema de mineração ou até mesmo emitir novas para atender às suas demandas. A centralização dentro de uma rede descentralizada é o resultado. Se a centralização ocorrer, o sistema não é mais um blockchain e não há sentido em consenso.

Os ataques à rede ainda são populares e os hackers não vão a lugar nenhum. Um ataque de 51% é viável e não há garantia de que isso não aconteça. Se as apostas forem tomadas pelos invasores, é apenas uma questão de tempo e poder de computação até que eles controlem mais da metade de todos os nós e transformem a rede em uma máquina de fazer dinheiro para eles.

Com o novo

Os problemas dos algoritmos de consenso anteriores foram minuciosamente examinados e pesquisados ​​para permitir que os programadores alcancem novos modelos de consenso.

Um dos modelos mais novos e promissores para blockchains é o Proof-of-Agreement, que é outro algoritmo de consenso empregado pela plataforma Credits . É um conceito bastante simples que parece complicado no início, mas é eficaz para chegar a um consenso. Todo o procedimento para consenso consiste na formação das transações e sua distribuição entre os nós da rede e execução de rodadas cíclicas onde os Trusted Nodes (TN) recebem autoridade para conduzir o consenso, o que resulta em uma resolução comum incluindo transações em um bloco e sua geração. Os pacotes de transação incluem um número ordenado de transações (até 500) e recebem um cabeçalho que contém um hash calculado com o algoritmo Blake2s. Uma vez que os nós recebem a lista de pacotes de transações contida na mesa redonda, eles começam a verificar a disponibilidade desses pacotes no buffer local. Se faltarem alguns pacotes, o processo de sincronização é iniciado. Um nó solicita os pacotes ausentes de seus nós vizinhos e, se os pacotes também estiverem ausentes nesses nós, esses vizinhos solicitam os pacotes de seus vizinhos e o processo é repetido até que os pacotes ausentes sejam encontrados. A disponibilidade de todos os pacotes de transações contidos na mesa redonda em todos os Trusted Nodes é a condição para o início de uma rodada. Após todos os nós da rede terem liberado os pacotes de transações e trocados entre si, os nós responsáveis ​​pela execução do consenso precisam ser selecionados e esses nós terão que validar as transações e gerar um bloco. A formação de bloco simples e eficaz com envolvimento total de todos os nós com a possibilidade de implementação em redes públicas é o objetivo desse algoritmo de consenso.

O próximo algoritmo promissor é LibraBFT Consensus do Facebook. LibraBFT melhora o HotStuff e o adapta para uso mais amplo. Libra é um algoritmo de consenso do tipo Tolerância a Falhas Bizantinas, que é baseado no HotStuff e é um sistema de replicação de máquina de estado robusto e eficiente projetado para o Libra Blockchain. LibraBFT é um aprimoramento do HotStuff com a implementação do mecanismo Pacemaker. Inclui análise de vivacidade que consiste em limites concretos para o compromisso da transação. No LibraBFT, os processos são chamados de Validadores. Cada um dos últimos funciona em rodadas, cada um tendo um validador designado chamado líder. Os líderes propõem novos blocos e recebem votos assinados dos validadores sobre as propostas de geração de blocos. Uma rodada é apenas uma fase de comunicação com um único líder designado, e as propostas dos líderes são organizadas em uma cadeia usando hashes criptográficos. Quando uma rodada é lançada, o líder propõe um bloco que estende a cadeia mais longa que tem à sua disposição. Se a proposta for válida e oportuna, cada nodo honesto a assinará e enviará um voto ao líder. Uma vez que haja votos suficientes para atingir um quorum, o líder agrega os votos em um Certificado de Quorum (QC) que estende a mesma cadeia novamente e o QC é transmitido para todos os nós. Se o líder não conseguir montar um QC, os participantes passarão para a próxima rodada.

Até agora, o Libra Blockchain foi lançado como uma rede autorizada. Os validadores fundadores incluem empresas como Uber, Visa, MasterCard, PayPal, etc. Todos os fundadores seguem diretrizes rígidas para serem os primeiros validadores. Por exemplo, os fundos de hedge cripto eram obrigados a ter um AUM acima de US$ 1 bilhão, enquanto os custodiantes com foco em ativos digitais tinham que armazenar pelo menos US$ 100 milhões. As empresas não criptográficas precisavam ter um valor de mercado de mais de US$ 1 bilhão ou saldos de clientes de mais de US$ 500 milhões.

Outro algoritmo de consenso é o Proof of Elapsed Time, que foi inventado no início de 2016 pela Intel e testado com sucesso pelo Hyperledger Sawtooth 1.1.

O princípio de operação é bastante simples, pois cada nó da rede espera por um período de tempo escolhido aleatoriamente. O primeiro nó a transcorrer o tempo de espera ganha o direito de emitir o próximo bloco. Cada nó na rede gera intervalos de tempo de espera aleatórios e é desativado de forma adormecida por um tempo especificado. O nó que acorda, e aquele com o menor tempo de espera, adiciona um novo bloco ao blockchain e transmite os dados por toda a rede. O processo é repetido até que o próximo bloco seja encontrado. As vantagens de tal algoritmo são baixos custos de participação, verificação de legitimidade simples e baixos custos de controle de verificação e eleição. Também existem desvantagens, como a necessidade de hardware especializado e o fato de ser inútil para redes públicas. Contudo

A variedade de algoritmos de consenso torna os blockchains versáteis e adaptáveis ​​a várias aplicações e estruturas. Embora vulneráveis ​​a ataques, muitas vezes complicados e altamente ineficientes em termos de energia, os blockchains ainda estão aqui para ficar e é apenas uma questão de tempo até que um ou outro algoritmo vença os outros na corrida pela eficiência. Talvez um dos algoritmos na longa lista de obscuros e menos conhecidos seja aquele que eliminará PoW e PoS em um futuro próximo.

Compartilhar link:

Mais Lidos

Carregando artigos mais lidos...

Fique por dentro das notícias sobre criptografia, receba atualizações diárias em sua caixa de entrada

Notícias relacionadas

criptopolitano
Assine o CryptoPolitan