Os diferentes tipos de algoritmos de consenso

Um algoritmo de consenso é um procedimento utilizado na ciência da computação em que os participantes de uma rede distribuída concordam sobre o estado da rede ou sobre o estado de um único valor de dados e estabelecem confiança entre pares desconhecidos na rede.

Os algoritmos de consenso são concebidos de modo a que os membros de uma blockchain cheguem a um acordo para validar uma transação na rede, alterar parâmetros da rede, decidir quais os nós são fiáveis para processar novos blocos e outras funções importantes.

Não deixe que a natureza técnica deste artigo o desoriente—encontramos “consenso” à nossa volta em todo o lado—é uma noção muito humana, mas aplicada a algo que pode ser automatizado.

**Para começar, em sistemas centralizados, as tarefas de consenso são realizadas por uma autoridade central. **

Em sistemas descentralizados como o Bitcoin, temos uma rede composta por centenas, milhares e até centenas de milhares de mineradores ou nós que se juntam para executar uma ou várias tarefas e proporcionar um ecossistema fiável e eficiente.

Pensando no consenso descentralizado com este exemplo, suponha que está num grupo de quatro amigos, e um dos membros, Alex, apresenta uma quinta pessoa, Bob. Quando o Bob sai, é mais do que provável que o grupo comece a falar sobre o Bob (isto é o protocolo) para ver se gostaram dele (o resultado será o “consenso”)

José: “O Bob parece um tipo porreiro.”



Kevin: “Sim, um tipo porreiro. Como é que conheceste ele?”

Alex: “Ele estava numa das minhas aulas de finanças na faculdade; partilhávamos dicas de trading de cripto e acabou por ser um rapaz bastante divertido.”

Kevin: “Boa, mas os memes dele eram mesmo super estranhos.”

John: “Tu simplesmente não percebes a cultura de memes.”

José: “Pois, tu não passas muito tempo a rolar o TikTok—achei-os bastante engraçados.”

Neste exemplo, foi alcançado um “consenso” sobre se o Bob se integra bem no grupo de amigos. Muitas vezes existe um consenso necessário de opinião mesmo na ausência de compromissos ou contratos específicos assumidos. Um dos participantes, Kevin, hesita em deixar o Bob entrar no grupo, mas José, Alex e John estão de acordo com o Bob.

Neste caso, se quiséssemos codificar o exemplo acima num algoritmo de consenso: então seriam 3 “ele é porreiro” e 1 “ele é porreiro mas não tenho a certeza sobre XYZ”, e ainda assim resulta num “ele é porreiro”. A maioria ganha, por isso o Bob vai poder estar com os miúdos porreiros apesar da opinião do Kevin.

O Bitcoin, por exemplo, foi construído para encontrar consenso sobre se as novas transações são válidas (“porreiras”) ou não.

Aqui vamos rever os tipos de algoritmos de consenso de blockchain mais populares—e também os que não são tão populares—em redes públicas e privadas.

O que é Proof of Work?

**Proof of Work (PoW) é o algoritmo de consenso mais popular e mais antigo, que surgiu com a criação do Bitcoin em 2009 por Satoshi Nakamoto. **Um sistema PoW consiste numa rede global de mineradores—chamados nós de rede—que competem para resolver puzzles matemáticos. O minerador que resolve com sucesso o puzzle ganha o direito de adicionar um novo bloco à blockchain e recebe uma recompensa paga em criptomoeda recém-criada.

A prova de trabalho é, basicamente, a forma de um minerador demonstrar evidência de que forneceu poder computacional para alcançar o consenso da rede e validar a autenticidade de cada bloco. Além disso, cada bloco (transação) é organizado por ordem sequencial, eliminando o risco de double spending.

Até agora, a PoW tem sido o mecanismo de consenso mais seguro para blockchains de criptomoedas. Alterar a rede exigiria que um atacante voltasse a minerar todos os blocos existentes na cadeia. Quanto mais a blockchain cresce, mais difícil se torna monopolizar o poder de computação da rede, já que isso exigiria um consumo de energia enorme e equipamento caro.

Quando um minerador resolve um puzzle, encontra um nonce (sigla para número usado uma vez) que produz uma hash com um valor inferior ou igual ao definido pela dificuldade da rede.

O nonce é uma parte central dos sistemas PoW, pois permitirá ao minerador criar um cabeçalho de bloco com hash usando a função SHA-256, o que significa colocar um número de referência para um bloco numa cadeia. O cabeçalho do bloco também contém um timestamp e a hash do bloco anterior.

As desvantagens da PoW

Os mineradores precisam de fornecer uma quantidade considerável de poder computacional para resolver os puzzles. Mas como os cálculos são complexos, a quantidade de energia que um único S9 Antminer consome normalmente está entre 1400 – 1500 watts por hora para uma hashrate de 14.5 TH/s. O S19, uma versão mais potente, consome 3250 watts por hora com uma hashrate de 110 TH/s.

Com alguma matemática, podemos calcular a quantidade de energia que centros de dados ou empresas de mineração consomem com centenas ou milhares de rigs de mineração num único local diariamente. O elevado consumo de energia e o dano ambiental são as principais críticas associadas à prova de trabalho.

Para colocar isto em perspetiva, Antes de a Ethereum ter mudado para Proof of Stake, os mineradores de Ethereum em todo o mundo consumiam cerca de 10 TWh/ano, o mesmo que a República Checa.

O ruído elevado também prejudica os níveis de audição humana—acima de 80 dBa. É por isso que as rigs de mineração são normalmente mantidas em caves ou instalações de mineração para evitar perturbar as atividades do dia a dia.

O que é Proof of Stake?

Proof of Stake (PoS) é o segundo algoritmo de consenso mais popular. Em vez de mineradores, as blockchains PoS têm validadores de rede que usam as suas moedas/tokens como evidência do seu compromisso com a rede, em vez de poder computacional.

Fazer staking significa “trancar” ativos cripto por um período numa plataforma de blockchain, o que, em retorno, recompensa os utilizadores com mais criptomoeda.

PoW vs. PoS: Principais diferenças

No PoS, os utilizadores podem fazer staking de uma parte dos seus ativos com o único objetivo de gerar rendimento passivo. A outra opção é tornar-se validador. Ao contrário dos sistemas PoW, os validadores não competem para criar novos blocos, pois são escolhidos aleatoriamente por um algoritmo. Quanto mais moedas/tokens um utilizador fizer staking, maior é a sua probabilidade de se tornar um validador e de criar novos blocos na blockchain.

Em sistemas PoW, o tempo para gerar novos blocos é determinado pela dificuldade de mineração; quanto mais participantes entram na rede, maior é a hashpower, isto é, o poder computacional necessário para minerar novos blocos. Em contraste, as blockchains PoS têm um tempo de geração de blocos fixo dividido em slots —o tempo que leva a criar um bloco— e em epochs, que são unidades de tempo constituídas por slots.

Para explicar isto melhor, num slot de Ethereum consistem em 12 segundos, que é o tempo que a rede leva para criar um bloco, e 32 slots criam uma epoch. Portanto, uma epoch tem 6.4 minutos. Cada slot numa blockchain PoS tem um número predeterminado de validadores que votam sobre a validade do bloco proposto. Se o bloco for válido, é adicionado à cadeia, e o proponente do bloco e os attestors recebem recompensas em ETH.

As blockchains PoS punem atores maliciosos por atacarem a rede com ataques estilo 51%, o que é chamado slashing, em que validadores honestos expulsam o validador malicioso da rede e retiram o respetivo saldo. Isto desencoraja atores maliciosos de atacar a rede, já que o número de fundos em staking exigido é consideravelmente elevado. No caso da Ethereum, 32 ETH.

Vantagens do PoS:

  • Menor consumo de energia em comparação com PoW
  • Mais adequado para trabalhar com soluções de layer-2 do que com PoW
  • Capaz de atingir um throughput mais elevado, já que o consenso é estabelecido antes de os blocos serem passados.
  • Mais barato do que blockchains PoW, pois não exige hardware topo de gama para criar novos blocos.

Desvantagens do PoS

  • Os sistemas PoS ainda estão sujeitos à centralização, caso validadores com um grande número de tokens em staking consigam influenciar a rede.
  • Menos comprovado em termos de segurança do que as blockchains PoW.

O que é Proof of History?

**Proof of History (PoH) é um algoritmo de consenso apresentado pela blockchain Solana e consiste em colocar um timestamp em todos os eventos na rede para provar que ocorreram num dado momento. **PoH pode ser descrita como um relógio criptográfico que confirma transações por ordem sequencial.

A Solana combina a sua abordagem PoH com PoS. Portanto, os participantes da rede têm de fazer staking de SOL para se tornarem validadores e processarem novos blocos, e o mecanismo PoH verifica a validade dessas transações que acontecem em tempo real. Por outras palavras, PoH mantém a segurança, enquanto PoS traz uma rede de validadores que podem verificar os timestamps e confirmar as transações.

No entanto, a Solana sacrifica a descentralização para proporcionar um throughput de transações extremamente rápido. A blockchain assenta numa arquitetura semi-centralizada em que um nó é eleito como líder, responsável por implementar uma única fonte de tempo, isto é, o relógio PoH, e todos os outros nós devem seguir as sequências de tempo em conformidade. Os líderes são eleitos periodicamente através de eleições PoS.

Embora a Solana seja uma das blockchains mais rápidas da indústria, sofre regularmente com períodos de indisponibilidade. Desde o seu lançamento em 2020, a rede sofreu cerca de dez indisponibilidades, cinco das quais ocorreram em 2022. A principal razão para essas interrupções é um “nó mal configurado”.

O que é Delegated Proof of Stake?

Delegated Proof of Stake** (DPoS) é uma variação do conceito de PoS em que a comunidade desempenha um papel central.**

Nas blockchains DPoS, os membros da comunidade fazem staking das suas criptomoedas para votar nos próximos witnesses ou delegados para a produção de blocos. Para o fazer, os utilizadores têm de agrupar os seus tokens no pool de staking da blockchain e, em seguida, associar os fundos a um delegado especificado.

A DPoS foi desenvolvida pelo antigo CTO da EOS, Dan Larimer, que implementou o algoritmo na BitShares em 2015. Larimer e outros defensores do DPoS afirmaram que a DPoS alarga o âmbito democrático, uma vez que é a comunidade que escolhe o próximo validador. Hoje, blockchains como TRON e Cardano usam DPoS.

No entanto, a crítica à DPoS é que a sua metodologia favorece utilizadores ricos. Aqueles com um grande número de tokens podem ter uma influência maior na rede. Vitalik Buterin foi um dos primeiros críticos do DPoS, ao afirmar num post no blog que este algoritmo de consenso incentiva os witnesses a formarem cartéis e a subornarem eleitores para obter apoio.

O que é Proof of Authority?

**Proof of Authority (PoA) é um algoritmo de consenso em que apenas membros com permissões podem interagir com a blockchain, executar transações, efetuar ou sugerir alterações aos parâmetros da rede, analisar o histórico de transações, etc. **

O termo foi cunhado por Gavin Wood, um programador de blockchain que co-fundou a Ethereum, a Polkadot e a rede Kusama.

Numa blockchain PoA, **tudo se baseia na reputação—os participantes da rede estão a fazer staking das suas identidades em vez de moedas. **Eles fornecem um nível mais alto de escalabilidade e throughput, já que dependem apenas de um número limitado de validadores. Podemos pensar que se trata de um modelo fortemente centralizado, mas as blockchains PoA são normalmente privadas e adequam-se melhor a empresas e organizações que utilizam a tecnologia blockchain para melhorar negócios e sistemas operacionais.

O que é Proof of Elapsed Time?

Proof of Elapsed Time (PoET) é outro algoritmo de consenso que funciona melhor com blockchains privadas.

O algoritmo PoET foi apresentado pela primeira vez por programadores de software da Intel e foi implementado na Hyperledger Sawtooth, direcionado para blockchains privadas e instituições.

O algoritmo poderá não ser tão popular como outras blockchains, já que não foi definido adequadamente. Mas a ideia era apresentar um motor pronto, no estilo de Nakamoto, que permitia que blockchains privadas escolhessem o próximo produtor de blocos. E em que é que diferem? Bem, o algoritmo gera um “tempo de espera aleatório” para cada nó da rede e, durante esse tempo, o nó deve “adormecer.” O nó com o período de espera mais curto acorda primeiro e ganha o direito de produzir um bloco na cadeia.

Assim, a principal diferença é que os mineradores no PoET não estão a correr 24/7 e consomem menos energia. Além disso, numa rede PoW, os mineradores competem para fazer hash do próximo cabeçalho de bloco, enquanto no PoET é mais um sistema de seleção aleatória.

FAQ dos Algoritmos de Consenso:

A Ethereum vai ficar mais rápida agora que fez a transição para PoS?

Um equívoco comum é pensar que a Ethereum irá aumentar automaticamente de escala agora que é uma blockchain baseada em PoS. No entanto, esta transição foi feita para melhorar a Ethereum por:

  • Reduzir o consumo de energia
  • Reduzir as barreiras à entrada, eliminando requisitos de hardware
  • Permitir penalizações económicas por comportamento incorreto de nós
  • Introduzir um novo modelo para emissões de tokens
  • E criar uma melhor infraestrutura para trabalhar com soluções Ethereum Layer-2.

**O que são blockchains permissionless e permissioned?: **

Uma blockchain permissionless refere-se a uma blockchain pública em que qualquer pessoa pode fazer transações, consultar o histórico de transações, fazer staking de moedas, tornar-se um validador, etc. Por outro lado, nas blockchains permissioned (privadas), apenas membros com permissão podem aceder à rede para fazer transações, interagir com nós da rede, acompanhar a atividade on-chain, etc.

O PoW é o algoritmo de consenso mais seguro? O PoW tem a sua quota de desvantagens, mas até agora tem sido a forma mais comprovada e confiável de manter o consenso e a segurança de uma rede numa blockchain.

Considerações finais: algoritmo de consenso explicado

A blockchain é uma tecnologia capaz de resolver muitos desafios e pontos de dor em várias indústrias, não apenas na banca e nas finanças. No entanto, também tem a sua quota de contratempos. Por isso, os programadores criaram vários tipos e versões de algoritmos de consenso para resolver problemas comuns, como centralização, falta de escalabilidade e baixo throughput.

Mas falar sobre o futuro dos algoritmos de blockchain é difícil devido a um desafio: o Blockchain Trilemma. Explicado pela primeira vez por Vitalik Buterin, afirma a incapacidade das redes blockchain em fornecer dois dos três benefícios: descentralização, segurança e escalabilidade. Existem várias plataformas blockchain, como Fantom e Solana, que implementaram versões híbridas próprias de algoritmos de consenso na tentativa de resolver o trilemma, mas nenhuma teve realmente sucesso até agora.

Outras abordagens técnicas foram feitas para melhorar as propriedades da blockchain, e uma das mais populares são as layer-2s, que são cadeias ligadas a uma layer-1, por exemplo Arbitrum com Ethereum, e o sharding, que divide a blockchain inteira em muitas redes mais pequenas. Buterin considera o sharding como a melhor abordagem para fornecer as três propriedades de uma blockchain perfeita.

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
Adicionar um comentário
Adicionar um comentário
Nenhum comentário
  • Fixar