decen{BR}

Entenda Proof of Stake – Tudo o que você precisa saber sobre o mecanismo de consenso PoS

Nesse artigo, apresentamos os diversos conceitos que viabilizam o Proof of Stake – uma alternativa à mineração como mecanismo de consenso na blockchain.

Antes, vamos dar uma olhada no sistema anterior ao staking, que é a mineração por prova de trabalho PoW).

Proof of Work (PoW)

No Bitcoin, a verificação de blocos se dá por meio do processo de mineração.

A idéia original de mineração foi criada por Adam Back nos anos 1980 e 90 com a finalidade de combater spam de email.

Originalmente chamado HashCash, o Proof of Work era empregado quando se desejava tornar financeiramente inviável o custo de envio de muitas mensagens promocionais.

Hoje, esse processo de alto custo inicial, e que exige grande uso de energia elétrica durante sua operação, garante que ninguém fraudará Bitcoin com lucro.

Como a energia e o hardware necessários para se encontrar um hash SHA256 adequado são astronômicos, em tese, ninguém consegue fraudar um bloco Bitcoin com retorno financeiro positivo.

O custo de se fraudar o Bitcoin é sempre maior que a potencial recompensa. Esse fato tem mantido o Bitcoin seguro durante os últimos quase 12 anos de operação ininterrupta da rede.

Esse sistema se chama Proof of Work (PoW), ou prova de trabalho, pois utiliza trabalho bruto como prova de valor.

Mineradores simplesmente testam hash atrás de hash procurando um número menor que X. Só que esse sistema tem um grande problema.

Todo o trabalho realizado no sistema Proof of Work é desperdiçado!

Os trilhões de hashes SHA256 processados a cada bloco de Bitcoin não possuem qualquer utilidade, fora comprovar que os mineradores gastaram esse valor para obter o próximo bloco Bitcoin.

Por esse motivo, PoW é visto como negativo para o meio ambiente, além de ser dependente de hardware produzido por poucas indústrias em todo o mundo, centralizando o poder de mineração.

Foi pensando nessas limitações que engenheiros de criptomoedas pensaram em uma solução alternativa. O que aconteceria, então, se em vez de gastar gigawatts de energia elétrica por bloco, nós convertessemos esse preço dos gigawatts em um valor direto cobrado utilizando a moeda nativa do blockchain?

Eis que assim surge o….

Proof of Stake (PoS)

No mecanismo de consenso Proof of Stake (PoS), não são empregadas máquinas mineradoras ou alto consumo elétrico.

De fato, algumas criptomoedas PoS podem ser “mineradas” utilizando até miniaturas de computadores, como Raspberry Pi.

O que, então, garante que fraudadores não obterão lucro falsificando blocos de uma criptomoeda Proof of Work?

No PoS, a prova de valor se dá por meio de uma espécie de depósito caução (stake). Nesse sistema, o verificador de blocos só é considerado habilitado a validar blocos se ele possuir um certo valor mínimo depositado em caução.

Como funciona o staking?

No PoS, o verificador de blocos (que chamamos de mineradores em sistemas PoW) deve depositar um certo valor da própria criptomoeda nativa da blockchain que deseja verificar – e esse valor depositado garante que ele não irá fraudar a verificação de transações.

O “depósito” normalmente se dá por meio de uma transação especial que, no lugar de transferir moedas para outro endereço, simplesmente registra o fato de que aquele montante encontra-se alocado para garantir a verificação de blocos. Cada criptomoeda implementa esse sistema de uma forma diferente, portanto não há um padrão de como o stake é alocado.

O importante é garantir que a alocação do montante do stake é registrado na blockchain. Isso fecha o conceito de Proof of Stake – temos um depósito caucionário (stake) e a prova de que esse depósito ocorreu (proof).

Exemplo: Cardano ADA

Como já mencionado, PoS não é um sistema único. Existem várias estratégias para se garantir que blocos não serão falsificados.

Por exemplo, na criptomoeda Cardano existe uma espécie de sorteio a cada epoch (nome dado pelo projeto Cardano a X horas na medida de tempo da blockchain). Esse sorteio determina quem irá verificar blocos na próxima epoch. Esses verificadores de blocos, chamados staking pools, só podem ser escolhidos se tiverem X ADA depositadas em caução (pledge). Esse valor do pledge é somado ao saldo do staking pool e dá origem a uma medida de confiabilidade desse staking pool. Sistemas como pooltool ou adapools constantemente somam e classificam esses escores de confiabilidade para mostrar as staking pools mais seguras. Investidores naturalmente se deslocam para as pools mais confiáveis.

Teoria dos Jogos

O valor do caução é cuidadosamente calculado para garantir que a fraude não seja lucrativa no sistema Proof of Stake.

Na criptomoeda Cardano existem parâmetros calculados para se garantir que você só será escolhido para verificar transações caso tenha efetuado o depósito de um certo valor em ADA. A probabilidade de ser escolhido, vezes esse valor, dá origem a um fator que gera um custo maior que aquele que seria obtido em uma eventual fraude.

Outras criptomoedas como Decred e Tezos possuem seus próprios sistemas que garantem que a fraude não será lucrativa.

Em todos os sistemas Proof of Stake há uma coisa em comum: o valor depositado multiplicado pela loteria de quem irá verificar blocos deve originar um custo maior que o possível lucro obtido com a fraude.

Posteriormente veremos um tipo de penalidade que também pode ser aplicada para desincentivar a fraude (slashing).

Poder de Voto

No Proof of Stake cada moeda na blockchain equivale a um certo poder de voto. Como o caução é depositado utilizando a própria criptomoeda, pode-se pensar no seu “cacife” como sendo análogo à sua “máquina de mineração”. Assim como mineradores Ethereum e Bitcoin devem investir em hardware para verificar blocos, stakers devem investir em grandes montantes de criptomoeda para terem cada vez mais chances de ganhar a corrida por blocos.

Assim, dá-se origem ao conceito de “voto” nas redes Proof of Stake. Quanto mais moedas você acumula, mais “votos” terá na hora de verificar blocos. Alguém que conseguisse acumular 51% das moedas de uma rede PoS muito provavelmente conseguiria atacar o sistema de forma análoga aos ataques de 51% de hashrate que ocorrem com Proof of Work.

No Bitcoin, o “poder de voto” vem da quantidade de dinheiro que foi investida em equipamentos e energia elétrica para mineração. Já no Proof of Stake, o poder de voto vem do preço da própria criptomoeda.

Exemplo Prático de um Processo PoS

Vamos a um exemplo trivial para entender o processo.

Em uma criptomoeda fictícia há apenas 10 investidores onde cada um possui 100 moedas. O sistema inteiro possui 1000 moedas circulantes.

Na loteria interna, foi decidido que o usuário número 3 iria verificar o próximo bloco. Só que o usuário número 3 é mal intencionado e inseriu no bloco uma transação que lhe daria 3 moedas a mais, ou seja 3% de propina.

O usuário 3 então constrói o bloco com todas as transações legítimas de seus amigos, porém inclui no fim uma tentativa de double spend. Ele pega UTXO que já foram gastos em outra transação e insere novamente nesse bloco.

Como é ele mesmo que vai verificar o bloco, não tem problema inserir uma sutil fraude de 3%, certo? Errado!

Ao verificar o bloco, esse minerador desonesto irá transmití-lo para o resto da rede. Junto com o bloco fraudado que ele montou, está implícito o seu “voto”. Algo como “ei, pessoal, aceitem meu bloco, sou eu que estou garantindo usando minhas X moedas”.

Só que o resto da rede verifica o bloco e percebe que aqueles 3% de moedas já foram gastos em outra transação já verificada em bloco anterior. Lembre-se que esse outro participante também tem votos!

Um por um dos participantes da rede P2P enviam à rede mensagem de repúdio ao bloco fraudado. Cada mensagem leva consigo o peso do número de votos de cada participante.

Em nosso exemplo fictício, haverá 900 votos indicando que aquele bloco deve ser rejeitado, e apenas 100 votos para que seja aceito (os 100 votos do fraudador). Como é minoria, os votos do fraudador serão derrotados e o bloco será rejeitado pela rede Proof of Stake.

Como já citamos, as criptomoedas PoS implementam essa idéia de forma diferente. No Tezos, por exemplo, há uma mensagem especial no seu protocolo de rede que serve apenas para “votar”.

Outras criptomoedas impõem penalidades para os fraudadores (Polkadot por exemplo), outras apenas rejeitam o bloco e seguem adiante (como a AVAX).

Vamos ver agora um tipo de penalidade que se aplica a esse tipo de tentativa de fraude : o slashing.

Slashing

Algumas criptomoedas Proof of Stake possuem o conceito de slashing, que é uma penalidade financeira aplicada a fraudadores.

O processo de slashing “queima” uma quantia de criptomoedas do fraudador caso ele efetue a tentativa de verificar um bloco inválido.

Slashing não é unanimidade entre projetistas de criptomoedas Proof of Stake.

Por exemplo, o pesquisador da Cornell University e criador da criptomoeda AVAX, Emin Gün Sirer, é contra essa prática.

Apesar das críticas, o slashing encontra paralelo no Proof of Work.

Em sistemas baseados em PoW, quando alguém tenta fraudar um bloco Bitcoin por exemplo, todo seu esforço é perdido no próximo bloco quando outro minerador, ou full node, honesto detecta a fraude e seleciona uma ponta diferente da blockchain, anterior ao bloco fraudado. Portanto há um tipo de “slashing” tácito nos sistemas PoW – todo o investimento na fraude se perde.

A seguir vamos examinar alguns tipos de fraude que podem ocorrer em sistemas Proof of Stake.

Ataque de Sybil

Você já deve ter ouvido falar em ataques de Sybil por outros nomes. Nas redes sociais essa modalidade de ataque é frequentemente identificado por “contas fake”, “robôs” e assim por diante.

Sybil foi uma paciente psiquiatrica que tinha inúmeras personalidades. Podia amanhecer sendo Joana e dormir sendo Cecilia. Posteriormente ela admitiu que inventou várias dessas personalidades – mas outras eram “reais”, ela realmente se transformava em múltiplas personalidades.

Nos ataques de Sybil, uma pessoa se passa por múltiplas identidades para influenciar votos e fraudar processos eletivos.

Como o Proof of Stake depende do conceito de “voto”, conforme já vimos, um usuário malicioso poderia se passar por múltiplos investidores para conseguir enviar múltiplos votos usando as mesmas moedas.

Os Sybil attacks são combatidos por meio de uma taxa que deve ser recolhida a cada operação, tornando a eventual fraude muito cara para ser executada.

Por exemplo, para abrir uma staking pool em Cardano, o operador da pool deve pagar uma taxa e fazer um depósito caução. A taxa é destruída (burn) e o depósito só pode ser resgatado após um ciclo completo (vide próxima seção). Dessa forma, caso o usuário tentasse abrir múltiplas pools com várias identidades, teria que fazer um elevado gasto, o que inviabiliza a fraude.

Propaganda Enganosa na Blockchain

Um outro tipo de fraude que pode ocorrer em sistemas Proof of Stake consiste em fazer propaganda enganosa utilizando a blockchain.

Nessa modalidade, o operador do staking, seja staking pool, bakery e afins, faz um depósito caução de alto valor e, depois que obtem muitos stakers em sua pool, retira o dinheiro e repete o processo em outra staking pool. A intenção é abrir muitas staking pools utilizando o mesmo capital inicial.

Tendo alto valor depositado, muitos stakers são atraídos e delegam suas cotas para ele, acreditando que se trata de alguém confiável por estar apostando tão alto na verificação de blocos. Eis que, então, no meio da operação, o verificador desonesto transfere suas moedas para outro endereço e inicia uma nova operação de staking.

Aqueles que delegaram suas moedas para ele ficam presos por X períodos sem poder mudar de verificador, enquanto isso o fraudador já criou N novas pools para atrair mais e mais investidores para ele.

Esse tipo de prática é coibida impondo-se um período mínimo de carência, dentro do qual o verificador não pode mudar os parâmetros de sua staking pool. Por exemplo, na criptomoeda Decred esse período é de 90 dias.

Se o verificador tentar mudar qualquer coisa na sua conta, como depósito caução, ele fica 90 dias não remunerados e impossibilitado de operar. Esse custo que é imposto, em tempo e dinheiro, garante que práticas antiéticas não serão lucrativas.

Conclusão

Fizemos aqui um passeio bem superficial pelo mundo das criptomoedas Proof of Stake. Há muito mais a se saber sobre os diversos sistemas PoS em larga utilização na atualidade, no entanto o detalhamento técnico de cada um tornaria este artigo demasiadamente extenso. A intenção aqui é dar uma visão geral de PoS, deixando o leitor buscar se aprofundar mais nos temas que interessar.

Com o meio ambiente clamando por atenção, o enorme gasto energético da mineração Bitcoin torna-se um fator que recebe mais e mais críticas. Nesse contexto, moedas Proof of Stake surgem como alternativa mais “verde” e mais amigáveis ao meio ambiente.

Referências

O que é o protocolo “Proof of Stake”?

O que é e como funciona o Proof of Stake?

O que é Proof-of-Stake

O que é Proof of Stake (PoS)?

Proof of Stake ou Proof of Work, eis a questão

Formas de Mineração e Diferença entre: PoW, PoS, PoC

O que é e como funciona o Proof of Stake?

English version of this article

Sobre @ Autor(@)
Publicado por decen{BR} - decen{BR} é nosso avatar coletivo, @ qual usamos na editoria do site. Normalmente, os conteúdos publicados pel@ decen{BR} são traduções de nosso site parceiro crypto.bi - (ou contribuições indiretas de um de seus autores). Confira nossa página Sobre (menu lateral) para conhecer a nossa equipe! Saiba Mais o Decen{BR}