Um mecanismo de consenso na Blockchain serve para garantir que existe acordo entre participantes quanto ao estado atual da rede. O mecanismo de
consenso determina quem é capaz de adicionar novos blocos de transações e um dos seus principais objetivos é garantir que a chain (cadeia) não seja reescrita ou alterada.
Consenso Proof of Work
As blockchains com puro mecanismo de consenso
Proof of Work (PoW), como a da
Bitcoin, só podem ter novos blocos adicionados por mineradores, que investem em equipamentos potentes para ter maior eficiência na tentativa de adivinhar a resposta para os problemas matemáticos. Cada vez que um minerador adivinha uma resposta válida, ele pode construir um bloco permitido pela rede. Enquanto os mineradores podem escolher qualquer chain para minerar, a rede só aceitará a chain que possuir o maior acúmulo de Proof of Work (por exemplo, maior quantidade de hashes ou palpites) como a chain legítima. Isso significa que os mineradores são incentivados a minerar na chain mais longa, e quando veem um novo bloco válido, tentam encontrar a resposta para o problema matemático do próximo bloco, permitindo que construam-no sobre o anterior.
A dificuldade de reescrever a blockchain é o que torna possível o funcionamento da rede como um ledger (livro-razão ou livro contábil) para transações financeiras. Quando uma transação aparece em um bloco, enviando moedas para uma carteira, e vários blocos tiverem sido construídos sobre esse bloco (confirmações), torna-se improvável que o bloco (e a transação) possam ser reescritos ou alterados.
Se uma entidade ou organização possuir Hashing Power (poder de processamento) suficiente para superar a “chain honesta”, ela pode reescrever (ou reorganizar) a blockchain ao minerar um bloco “antigo” em vez do mais recente. Aqui está uma descrição simples desse tipo de ataque, mais conhecido como
Ataque de 51%: O invasor faz uma transação no bloco X para carteira de uma corretora, e em seguida, inicia a mineração de uma chain paralela de forma privada (esses blocos não são transmitidos para a rede). Uma vez que o número necessário de confirmações tenha sido ultrapassado, o invasor negocia suas moedas por outras e então saca esses ativos. Quando a corretora completa o processo de retirada, ela liberam a chain paralela, e caso esta possua maior PoW (blocos) que a chain original, a rede aceitará ela como a chain legítima e o histórico representado pela chain original (incluindo o depósito do invasor) desaparecerá. Dessa forma o invasor estará livre para gastar as mesmas moedas novamente.
Como os mineradores são as únicas entidades que têm o poder de adicionar blocos diretamente à chain em criptomoedas baseadas puramente no PoW, isso lhes concede um papel importante na governança da rede. Dessa forma, para que qualquer alteração nas regras de consenso da rede seja adotada, ela precisa ter apoio de maior parte do hashing power existente. Os “Soft Forks” exigem que mineradores suficientes reconheçam um novo conjunto de regras para que os usuários possam esperar que suas transações sejam processadas adequadamente e incluídas em blocos. Os “
Hard Forks” dividem a rede em dois partes, e pela regra comumente aceita de que “a chain com maior PoW é a chain correta a ser seguida”, os mineradores irão escolher qual é a chain legítima.
Consenso Proof of Stake
O consenso
Proof of Stake (PoS) é um método alternativo usado para decidir quem pode adicionar novos blocos e verificar o estado atual da blockchain. Em vez de mineradores que competem para resolver problemas matemáticos, no caso do PoS, o próximo construtor de blocos é determinado por um processo baseado no número de moedas guardadas em carteiras (ou “staked”). Este processo acredita que aqueles usuários com maior stake tomarão decisões mais responsáveis para manter a integridade da rede.
O mecanismo de consenso PoS elimina a necessidade da mineração extremamente custosa energicamente, mas essa falta desse gasto energético cria outro problema, às vezes chamado de “nada em risco”. No caso de uma chain que sofreu fork, os forjadores do PoS (“forjar” é geralmente um substitutivo para “
minerar”) são incentivados à minerar em ambas as chains, porque custa muito pouco fazer isso numa chain extra e eles podem coletar recompensas em ambas as chains. E este é um problema para a rede, porque supostamente só uma única chain deveria existir e concordar com o estado atual dela é o propósito do mecanismo de consenso.
O PoS tem um problema adicional no que diz respeito à distribuição de tokens. Os mineradores do PoW têm custos significativos (como equipamentos e eletricidade) e normalmente vendem uma grande porção das suas moedas mineradas para cobrir os custos de operação. Como resultado, várias moedas mineradas acabam ficando disponíveis para compra no mercado, em vez de serem acumuladas pelos mineradores. Os forjadores do PoS têm um custo operacional muito baixo, portanto não precisam vender as moedas que recebem como recompensa pela manutenção da rede. Os usuários mais ricos que entram no processo de PoS tendem a aumentar sua participação na porcentagem de moedas em circulação, isso acontece porque eles coletam as recompensas dos blocos e as taxas de transações dos usuários da rede. Todo esse processo tem sido comparado ao feudalismo, segundo o qual a rede pertence ao detentores de moedas, sendo operada por eles, fazendo com que os usuários paguem um aluguel pelo uso. Normalmente existe um número de corte, no qual estar abaixo dele torna impossível a participação no processo de PoS.
PoS/PoW híbrido
O objetivo dos sistemas híbridos de Proof of Work e Proof of Stake é capturar os benefícios dos respectivos sistemas e usá-los para balancear as fraquezas de cada um. O Decred está entre as poucas
criptomoedas que utilizam PoW e PoS de forma reconhecível e as une para produzir um mecanismo de consenso híbrido ou multifatorial.
As “Masternode Coins” são, em alguns aspectos, também híbridas, possuindo um componente reconhecido de PoW que desempenha um papel semelhante no caso da
Bitcoin, e uma função adicional para nodes (nós) especiais. Normalmente existe um requerimento de que esses nodes especiais detenham uma certa quantidade de criptomoedas como garantia, demonstrando que podem ser confiáveis em agir para o melhor interesse da rede, algo muito parecido com o raciocínio por trás do Proof of Stake. A Dash é uma moeda originária do masternode e refere-se à esse modelo como
Proof of Service. Esse artigo se concentrará em híbridos com componente de Proof of Stake, e não considerará a
variedade de moedas que emulam masternodes ou Proof of Service.
O componente de PoW da Decred funciona de forma semelhante à outros projetos baseados em PoW e usa a Hash Function (função hash) Blake-256. Já o componente de PoS da Decred e a maneira como ele é
inserido na chain é bastante singular, merecendo mais explicações.
Para participar do processo de Proof of Stake da Decred, os detentores devem “trancar” suas moedas para comprar tickets (ou, ingressos). O preço de um ticket individual é definido por um mecanismo de mercado, no qual o sistema está apontando, de acordo com um número definido de tickets (40.960) - se houver mais do que o número alvo, o preço sobe, se houver menos, diminui. Quando alguém compra um ticket, as moedas usadas nessa compra ficam trancadas (impossibilitando o gasto das mesmas) até que seus tickets sejam chamados para votar de forma pseudoaleatória, ou até que expirem após cerca de 142 dias. Isso introduz um custo de oportunidade para o PoS, destinado a garantir que os eleitores estejam “arriscando a própria pele” e atuem de acordo com os melhores interesses para rede.
Os participantes do PoS (também conhecidos como eleitores ou detentores) têm três funções distintas a serem desempenhadas: o voto em bloco, o voto em mudanças nas regras de consenso, e o voto no gerenciamento de projetos usando o Politeia Proposal System (Sistema de Propostas Politeia). A primeira delas, “voto em bloco”, é a maneira pela qual os eleitores do PoS se envolvem mais diretamente na manutenção de um consenso.
Votando em blocos
Quando um minerador de PoW encontra um bloco válido, ele o transmite para a rede, mas para que esse bloco seja considerado realmente válido, ele deve incluir votos de pelo menos 3 a 5 tickets selecionados de forma aleatória. Os eleitores do PoS mantêm as carteiras abertas e prontas para responder com votos quando seus tickets são chamados (ou podem contratar um
serviço provedor de votação (VSP), para que votem no seu lugar). Quando um ticket de PoS é chamado para votar e responde, seu dono recebe uma recompensa.
Quando os tickets são chamados, eles votam para aceitar ou rejeitar transações regulares do bloco mais recente. Os
nodes da rede não irão reconhecer um novo bloco como válido até que ela possua pelo menos 3 votos. Se a maioria dos tickets chamados para votar rejeitarem as transações do bloco anterior, elas serão retornadas à mempool (memória das piscinas de mineração). Essas transações regulares incluem a recompensa do minerador em PoW, mas não a recompensa dos eleitores do PoS.
Portanto, os eleitores do PoS têm o poder de retirar as recompensas dos mineradores sem afetar suas próprias recompensas. Isso limita o poder dos mineradores em PoW de vetar mudanças nas regras de consenso da rede, que são votadas pelas partes interessadas. De fato, os eleitores do PoS podem rejeitar qualquer tipo de comportamento indesejável que os mineradores apresentem, basta adotar a política de votar “não” quando um comportamento malicioso ou ineficiente for detectado - impedindo que maus mineradores escrevam transações e recebam recompensas.
Essa camada de verificação do PoS aumenta de forma significativa a segurança da rede e a resistência contra ataques de maioria (como o Ataque de 51%). O método comum de conduzir um ataque de duplo gasto é reescrever a blockchain ao minerar uma chain alternativa em segredo, liberando-a depois de um certo período de tempo e aproveitando-se da anulação das transações na chain “antiga” (por exemplo, gastando duas vezes suas entradas). Como os blocos da Decred exigem entradas de bilhetes selecionados aleatoriamente para serem considerados válidos, e não podem ser construídos pelos mineradores do PoW até que tenham recebido a entrada, não é possível para os mineradores do PoW minerar em segredo, a menos que eles também controlem uma proporção significativa dos bilhetes existentes (veja
esses artigos).
O design híbrido do PoW/PoS aumenta significativamente os custos de ataque à uma rede porque existem dois sistemas distintos que devem ser contornados pelo invasor. O componente PoS, em particular, é configurado de tal forma que os tickets só podem ser adquiridos de forma lenta. Um número limitado de tickets pode ser comprado em cada bloco/intervalo, e comprar o número máximo faz com que o preço suba drasticamente. Além disso, uma vez que esses tickets tenham sido comprados, os fundos usados para comprá-los serão trancados por um tempo, deixando um invasor exposto a qualquer desvalorização das suas moedas, os quais seriam afetadas diretamente como resultado de um ataque.
A exigência de que cada bloco seja votado por detentores selecionados aleatoriamente significa que a
blockchain deve ser compartilhada com todos os participantes à medida que for minerada, aumentando a segurança da rede. O sistema híbrido da Decred foi projetado para também conceder aos detentores poder sobre os mineradores do PoW.
Votando na mudança de consenso
A Decred decidiu, no início, tornar os detentores de PoS em uma força dominante de tomada de decisões na governança da blockchain. Escrito nas regras de consenso está um procedimento de atualização pelo qual qualquer mudança nas regras de consenso da rede só pode ser implantada após passar por um processo de votação. As alterações só podem ser feitas se aprovadas por pelo menos 75% dos tickets de votação. Esse processo começa quando uma certa proporção de mineradores (95%) e eleitores (75%) estão rodando o software atualizado com as últimas alterações nas regras. Se a proposta tiver 75% de apoio após um período de votação de 4 semanas, ela será aceita. Caso contrário, será rejeitada, e se ela não possuir a maioria necessária, uma nova votação será iniciada. Se uma proposta for aceita, a alteração da regra será ativada um mês depois.
Projeto de Gerenciamento: Politeia
As recompensas dos blocos da Decred são divididas entre mineradores PoW (60%), eleitores do PoS (30%) e uma “poupança” (10%) para financiar o desenvolvimento de softwares de código aberto que promove os objetivos do projeto. Os detentores de tickets têm soberania para votar como esse fundo deve ser gasto, quais recursos devem ser adicionados e determinar políticas por meio da
plataforma Politeia.
Considerações Finais
Como os eleitores do PoS recebem 30% das recompensas de um bloco, eles não podem simplesmente manter suas participações em “stake”. A maioria dos DCRs recém-minerados vai para os mineradores de PoW em troca da função que desempenham na proteção da rede, impedindo o problema do “nada em risco” que os sistemas de puro PoS têm. Os mineradores normalmente teriam que vender uma parte significativa das recompensas que recebem para cobrir seus custos operacionais, garantindo que uma boa quantidade de DCRs esteja disponível no mercado.
A blockchain da Decred apresenta uma arquitetura única e é um dos exemplos mais notáveis de um sistema híbrido de PoW/PoS. Da mesma forma que projetos de consenso em PoS são um agrupamento geral com variações significativas, futuros projetos que implementam abordagens híbridas de PoW/PoS também serão únicos e não necessariamente seguirão a estrutura da Decred.