Cada blockchain funciona de uma forma diferente. Há vários tipos de consenso em blockchain, ou seja, o procedimento que uma rede de blocos emprega nos seus cálculos, movimentações e funcionamento em geral.
Para dar um exemplo concreto, podemos usar a rede da criptomoeda Solana. Ela usa um algoritmo de consenso híbrido, chamado “Proof of History” (PoH). O PoH representa um avanço fundamental na estrutura das redes de cadeias de blocos em termos de velocidade e escalabilidade.
Mas antes de entrar de cabeça no PoH, é importante conhecer os principais mecanismos de consenso do mundo cripto: o Proof of Work (PoW) e o Proof of Stake (PoS). Todos eles servem para fortalecer a segurança nas redes de blocos.
Contenidos
Protocolo de consenso Proof of Work (PoW)
A Proof of Work, ou prova de trabalho, é o método mais conhecido e foi a escolha da blockchain do BTC e do ETH desde que elas começaram a funcionar.
Neste protocolo de consenso, os mineradores competem entre si na rede para resolver complexos quebra-cabeças matemáticos mas que, quando se ‘montam’, são facilmente verificáveis.
Quando um minerador encontra a solução, manda um novo bloco com a solução para a rede. E assim, todos os outros mineradores checam se a solução está realmente correta.
Este processo acontece repetidas vezes para que os blocos sejam capazes de formar uma cadeia, uma espécie de corrente: daí o nome blockchain.
Ah, e o primeiro computador que consegue resolver o tal quebra-cabeças é recompensado com uma pequena quantidade de criptomoedas. A rede Bitcoin, por exemplo, dá 6,25 BTC para quem consegue minerar um bloco.
A principal vantagem da PoW é a sua segurança. Na prova de trabalho, os mineradores têm que destinar muitos recursos à rede, tais como hardware informático de ponta e uma grande quantidade de energia elétrica.
Por isso, qualquer pessoa que queira cometer fraude e/ou atacar a rede teria de dominar mais da metade da potência hash da rede. Ou seja, alguém precisaria ter o controle superior a 51% dos nós de toda a rede para poder assumir o comando do protocolo.
Esse ‘controle supremo’ é conhecido como “ataque de 51%”. Mas, como fazer isso é realmente muito difícil, essa característica garante a segurança da rede e permite que trilhões de dólares em transações sejam feitas.
Proof of Work vs Proof of Stake
A partir deste ano, a Ethereum está “migrando” oficialmente do seu protocolo de Proof of Work para o novo mecanismo conhecido como Proof of Stake, ou prova de participação. Com isso, a rede vai se chamar Ethereum 2.0 daqui por diante.
Esta mudança vem de mãos dadas com uma série de melhorias em comparação com o sistema de Prova de Trabalho. Muitas delas entraram em vigor com o The Merge. Vejamos as principais:
- Mais eficiência energética, uma vez que não há necessidade de usar muitos blocos de mineração de energia.
- Barreiras de entrada mais baixas e requisitos de hardware reduzidos: ou seja, uma pessoa não precisa de hardware de ponta para ter a oportunidade de criar novos blocos.
- Mais imunidade para centralização porque a PoS deveria facilitar a criação de mais nós na rede.
- Melhor suporte às cadeias de framentos, uma melhoria fundamental para o escalar a rede Ethereum, facilitando a execução de um nó já o poder computacional é reduzido.
Mesmo assim, a Proof of Stake e a Proof of Work têm muito em comum. Ambas têm a mesma função: validar as transações e depois atualizar a blockchain pra que tudo fique sempre de acordo com as regras da rede.
Além disso, tanto os mineradores da Proof of Work como os validadores da Proof of Stake são recompensados pelo seu trabalho com a criptomoeda nativa da rede.
Protocolo de consenso Proof of Stake (PoS)
Uma das maiores diferenças entre PoW e PoS é o uso de validadores em vez de mineradores de criptomoedas.
O que os validadores fazem é travar uma certa quantidade da criptomoeda nativa de uma rede e, com isso, ganham o direito de validar transações da blockchain.
De uma perspectiva mais técnica, a Proof-of-Stake (PoS) é uma alternativa ao modelo de mineração Proof-of-Work (PoW).
Ao invés de os mineradores resolverem complexos problemas matemáticos (os tais quebra-cabeças) com poder de processamento para verificar transações (como acontece na PoW), os usuários de PoS usam as moedas existentes e, com elas, verificam transações na mesma proporção da quantidade de moedas que travaram ou “vincularam” em uma stacking wallet.
Da perspectiva do usuário, tudo o que uma pessoa precisa fazer é manter uma certa quantidade de moedas “trancadas” durante um certo período de tempo e, assim, ganhar novas moedas que sejam emitidas.
Essa recompensa pode chegar tanto na cripto do staking como em alguma outra criptomoeda que seja usada para esse fim.
⚠️ É importante destacar que a duração e o montante mínimo do stake podem variar, dependendo da criptomoeda em questão.
Em vez de competir por quem tem o melhor computador, na PoS, ganha quem tem o maior número de criptos travadas.
Assim, quanto maior o stake – ou quanto maior o pool de moedas – maior a probabilidade de adicionar um novo bloco e de ser selecionado como um validador.
Quando o validador é escolhido, deve “propor” um bloco. Se for validado pelos outros usuários, o validador recebe uma recompensa composta pelas tarifas das transações do bloco sugerido.
A maior dificuldade de participação nesse mecanismo é que uma pessoa tem de possuir a cripto nativa da blockchain baseada em PoS.
As barreiras tecnológicas e técnicas que surgem da posse destas moedas criptográficas específicas, além da compreensão do que é uma blockchain, podem desestimular uma pessoa a participar da validação de transações PoS.
Por outro lado, a maior desvantagem da PoS é a sua susceptibilidade ao ataque que explicamos antes, o “ataque de 51%”. Um usuário ou grupo de usuários pode controlar uma blockchain depois de ter mais de 50% da capacidade de autenticação.
Ainda que tanto a PoW como a PoS sejam susceptíveis a um ataque de 51%, é mais fácil que isso aconteça nas blockchains baseadas em PoS (principalmente as criptos mais recentes e de menor valor).
É por isso que o novo algoritmo de consenso que citamos no começo do artigo, da Solana, é tão importante: ele garante que uma blockchain seja rápida e, ao mesmo tempo, mantenha a sua segurança descentralizada.
Proof of History: Prova de Histórico
Como vimos anteriormente, Solana combina la Proof-of-Stake com a Proof-of-History (PoH), criando um algoritmo de consenso híbrido e único.
A Solana foca no conceito de que, ao invés de confiar nas marcas de tempo de um bloco, também se levem em consideração uma mensagem que foi criada em momentos específicos, tanto antes como depois da validação.
Protocolo de consenso Proof of History (PoH)
Todos os eventos e transações da Solana são processados com a função hash SHA256. Com isto, Solana retira um input de uma transacção e produz um output dessa transação única, que é extremamente difícil de prever, e usa isso como input no próximo hash.
Dessa maneira, a sequência de transações é integrada na saída hash. O processo de hashing cria uma longa e ininterrupta cadeia de transações hash.
➡️ Essa característica cria uma sequência clara e verificável de transações que um validador acrescenta a um bloco sem a necessidade de uma marca de tempo convencional.
O hash também requer um certo tempo para ser completado e os validadores podem facilmente verificar quanto tempo se passou.
Basicamente, a Proof of History é uma sequência computacional que pode fornecer uma forma de verificação criptográfica da passagem de tempo entre dois eventos.
Para isso, a PoH usa uma função segura ‘escrita’ de uma maneira a que o output não possa ser previsto a partir do input, e deve ser totalmente executada para gerar o output.
💡 Em palavras mais simples: a PoH permite a criação de um registo histórico que prova que um acontecimento ocorreu em determinado momento.
E tem mais detalhes sobre a Proof of History, se liga na sequência.
Função de atraso
Por outro lado, a PoH usa um novo conceito criptográfico chamado “função de atraso” verificável de hash sequencial, mais conhecida como Verifiable Delay Function (VDF).
Esse hash só pode ser resolvido utilizando um único núcleo de CPU, que segue uma série de passos e, além disso, requer um número específico de etapas sequenciais para avaliar, mas produz uma saída única que pode ser verificada de forma pública e transparente.
Além disso, a validação paralela das transações também não é permitida. Por isso, é fácil definir exatamente quanto tempo leva é necessário para aplicar todas essas etapas (a parte da marca de tempo é fundamental para isso).
💡A VDF usa uma função criptográfica segura e escrita de forma a que a saída não pode ser prevista a partir da entrada, e deve ser totalmente executada para gerar a saída.
A Solana combina o algoritmo PoH com um protocolo de segurança chamado Tower Byzantine Fault Tolerance (Tower BFT), que permite aos participantes da rede acumular fichas para que possam votar sobre o hash da PoH..
Este protocolo de segurança é parecido com a PoS, pois penaliza os usuários que votam a favor de hard forks que não tenham a ver com os registros originais da PoH, ou mesmo quando a maioria da rede define alguns maus comportamentos atribuídos a alguns nós suspeitos.