Por que as Blockchains são seguras: Proof of Work (PoW) e Proof of Stake (PoS)

As blockchains são muito populares hoje em dia, tendo sido cada vez mais usadas por empresas como a Amazon e Google, que até mesmo vendem serviços desenvolvidos e possibilitados por blockchain, bem como Walmart e Nestlé, que a aplicam em suas cadeias de suprimentos.

Mas o que faz essas tecnologias tão seguras? Se você é como eu, não se satisfaz saber apenas que uma nova tecnologia “surgiu”, mas sim entender como ela funciona, que problemas ela pode solucionar e para que ela pode ser usada agora e no futuro, em potencial. 

Então, hoje, vamos entender um pouco mais sobre como as blockchains funcionam e o que garante a segurança nessa tecnologia.

Como o nome indica, uma blockchain é uma “cadeia” (chain) de “blocos” (block). Esses blocos contêm informações registradas desde o início de uma rede de blockchain.

Essa tecnologia foi originalmente descrita ainda em 1991, com o objetivo de registrar a data e hora de documentos digitais, de forma que não fosse possível adulterá-los no futuro.

No entanto, apenas com o surgimento da Bitcoin, uma criptomoeda digital criada por Satoshi Nakamoto (pseudônimo), essa tecnologia passou a ser efetivamente usada e reconhecida.

A blockchain é um registro descentralizado de informações, completamente aberto a qualquer um. Quando um registro é feito na blockchain, é extremamente difícil alterá-lo. Mas por quê?

Funcionamento da Blockchain

Cada “bloco”, na blockchain, contém suas informações registradas, além de uma conexão com o último bloco, conhecida como hash, que identifica, matematicamente, o bloco específico, sendo sempre único, como uma digital. 

Quando um bloco é criado, seu hash é calculado, a depender das informações contidas nesse bloco. Se qualquer informação fosse minimamente alterada, o hash também mudaria, prevenindo adulterações. 

Além disso, o hash do último bloco também é registrado no bloco atual, conectando-os (daí a “chain”). É isso o que torna uma blockchain tão segura, pois, qualquer alteração dos dados de um bloco passado alteraria toda a cadeia de hashes dos blocos posteriores, invalidando-os.

É claro que, hoje, os computadores são rápidos o suficiente para fazer quantidades imensas de cálculo, o que poderia abrir espaço para que, de fato, todos esses hashes fossem adulterados. Para mitigar isso, existe um mecanismo chamado consenso.

Consenso

O consenso é a parte forte das blockchains, é isso que é responsável por fazer o sistema ser confiável para todos.

O consenso é um processo que se desenvolve a partir das solicitações de transação, ou seja, quando um usuário resolve transferir uma criptomoeda a outro, e aí a rede valida ou não essa transação.

 Se for validada, ela é registrada no bloco atual que vai ser ligado à blockchain, se não, é descartada. Existem várias formas de criar um consenso, porque existem vários tipos de blockchain também.

Como a Bitcoin é uma blockchain pública, ela age como se sempre houvesse ameaças ao sistema e aos registros. Por isso, o sistema de consenso dessa rede é o de Proof of Work, ou “prova de trabalho”, um dos mecanismos mais seguros de consenso.

Proof of Work (PoW) em blockchain

O Proof of Work é um mecanismo que diminui a velocidade de criação de novos blocos. No caso da Bitcoin, esse tempo fica por volta de 10 minutos. 

Isso torna muito mais difícil que os blocos sejam adulterados, pois se alguém alterar um bloco, esse invasor terá que recalcular o Proof of Work de todos os blocos seguintes.

Esse mecanismo foi proposto pelo Satoshi Nakamoto, o criador da Bitcoin, e ainda é usado, além da Bitcoin, por várias outras blockchains públicas, como a Litecoin e Dogecoin. 

Por isso, como um dos maiores exemplos a serem estudados, vamos falar, aqui, da aplicação do Proof of Work na Bitcoin.

O Proof of Work é um mecanismo competitivo em que cada minerador (ou seja, os usuários da rede de blockchain que registram novos blocos) compete para registrar blocos. 

Qualquer um pode participar no sistema, mas a competitividade é grande e, para ter uma chance, é preciso ter equipamento muito caro e especializado.

O próprio algoritmo desse mecanismo vai ajustar a dificuldade do problema matemático que os computadores dos mineradores têm que resolver para manter um tempo consistente entre a mineração de blocos. E é isso o que torna esse sistema lento, colaborando com a segurança do processo.

Além disso, quando um minerador consegue finalmente resolver esse problema computacional e registrar um novo bloco, ele recebe uma recompensa em bitcoins.

Enquanto 51% ou mais dos blocos criados pelos mineradores forem legítimos, a Bitcoin estará protegida e, como os mineradores são incentivados financeiramente para isso, é muito improvável que a segurança da rede seja quebrada.

Prós e contras da blockchain

Os prós desse mecanismo são os seguintes:

  • Ele é seguro, pois é devagar;
  • Ninguém pode impedir uma transação de ser processada.

Já os contras, por sua vez, são que se trata de um mecanismo devagar, portanto, você tem que esperar para que a sua transação seja confirmada. 

Sem contar que se trata de um método caro. Os custos de transação podem subir com o aumento do número de usuários. Além de ser um método suscetível à centralização com o tempo, porque aqueles com mais recursos podem se juntar para aumentar as chances de mineração.

Mas algumas dessas desvantagens podem ser resolvidas por um novo mecanismo de consenso: o Proof of Stake.

Proof of Stake (PoS)

O Proof of Stake, como o Proof of Work, também é um algoritmo competitivo de consenso. Ele foi criado como uma alternativa à prova de trabalho para aliviar os problemas de velocidade de transação que, na prova de trabalho, é lenta demais para suprir a demanda dos registros.

Os mineradores do PoS, porém, não mineram criptomoedas. Nesse caso, os usuários colocam um certo valor de criptomoedas da blockchain em retenção, de forma que eles não conseguem usar essas moedas por um tempo. 

Isso faz com que o usuário garanta, através do mecanismo de “stake”, que ele vai minerar os blocos de maneira honesta, segundo as regras do mecanismo de consenso. Afinal, se isso não acontecer, ele perde uma parte de suas moedas.

Esse é um método cada vez mais comum em redes públicas, porque é uma alternativa de baixo custo que possibilita uma descentralização ainda maior das redes. 

O Proof of Stake permite que qualquer um participe em qualquer nível de criação e manutenção da rede mas, para isso, ele deve ter uma quantidade mínima de criptomoedas para fazer o stake, ou seja, deixá-las retidas por um tempo, sem poder usá-las. 

Aí então, a probabilidade de registrar o próximo bloco e ganhar a recompensa é equivalente à porcentagem de criptomoedas que eles deixaram em stake.

Esse método pode parecer ainda mais desigual, se comparado ao Proof of Work, porque, no fim das contas, quem possui mais moedas terá mais chances de minerar um bloco. Porém, na verdade, ele é mais justo.

Vantagens e desvantagens do Proof of Work

Veja bem, no Proof of Work, muitos mineradores com os recursos (caros) necessários acabam se unindo em “mining pools”, de modo a aumentar suas chances de minerar um bloco. 

Assim, eles acabam controlando uma boa porcentagem de toda a rede, o que gera centralização e pode ser muito perigoso: se um grupo de mineradores atingir mais de 51% de controle sobre a rede, eles podem começar a aprovar transações fraudulentas.

Além disso, o preço pago por eletricidade e equipamento pelos mineradores não sobe de forma linear. Ou seja, quanto mais um minerador compra, melhores os preços que eles conseguem.

No Proof of Stake, no entanto, você não precisa de equipamentos caros para minerar um bloco e, apesar das chances aumentarem com o seu número de moedas, isso torna a rede mais centralizada do que com o Proof of Work.

Nesse caso, as vantagens são:

  • É mais eficiente em relação ao consumo de energia elétrica;
  • É mais difícil de ser atacado;
  • Ele escala com mais facilidade para possibilitar transações maiores;
  • Entre outros.

Já a desvantagem é a seguinte, as recompensas são atreladas ao tempo de stake e à quantidade de moedas retidas, de forma que a rede ainda beneficia os usuários mais ricos.

Conclusão

A segurança das blockchains, portanto, decorre de múltiplas ferramentas. O uso de algoritmos matemáticos conhecidos como hashes, identificando as informações contidas em cada bloco, e conectando-as com toda a cadeia.

Os sistemas de consenso, que garantem a validação da informação adicionada ou mantida em um bloco da cadeia.

E, por fim, os sistemas que garantem a descentralização de todo esse processo, possibilitando que não haja uma única pessoa ou instituição controlando o passado, presente e futuro da rede.

Aprender e se capacitar no funcionamento das novas tecnologias é uma forma de estar sempre um passo à frente no mercado. Para isso, há apenas um caminho: nosso processo contínuo e inacabável de educação.

Adriano Martins Antonio é professor, CEO da PMG Academy, autor, consultor, palestrante, podcaster, instrutor de Governança de TI, Segurança da Informação, Negócios, Projetos Ágeis e Transformação Digital. Fala sobre ITIL, Scrum, Governança, Transformação Digital e Segurança da Informação.