Proof of Work

06.12.2018

O que é Proof of Work (Prova de Trabalho)?

Originalmente datada de 1993, o conceito de Proof of Work ou Prova de Trabalho foi desenvolvido para prevenir e reduzir ataques de negação de serviço (DDoS), spams na rede e outros abusos no sistema. Para isso, tais serviços exigiam do usuário um certo trabalho, geralmente na forma de tempo de processamento do computador (para provar que o usuário era legítimo e não um spammer).

Em 2009, o Bitcoin introduziu uma forma inovadora de utilizar o Proof of Work como um algoritmo de consenso que é utilizado para validar transações e adicionar novos blocos na blockchain (cadeia de blocos). Ele rapidamente se espalhou e passou a ser utilizado amplamente como um algoritmo consensual em muitas criptomoedas.

 

Como funciona?

Em resumo, os chamados mineradores irão competir uns contra os outros para resolver complexos quebra-cabeças computacionais. Esses quebra-cabeças são difíceis de se resolver, porém uma vez  solucionados, podem ser rapidamente verificados por outros participantes da rede. Uma vez que o minerador encontra a solução, ele transmitirá o novo bloco para a rede onde todos os outros mineradores irão autenticar se a solução encontrada está correta.

 

Vamos ver um exemplo:

Bitcoin é um sistema com base na blockchain que é mantido pelo trabalho coletivo e descentralizado de vários nós (nodes) . Alguns desses nós da rede são conhecidos como mineradores e são responsáveis por transmitir e adicionar novos blocos na blockchain. Para fazer isso os mineradores precisam acertar um número pseudoaleatório chamado de nonce (ou “cadeia aleatória de números utilizada somente uma vez”). Esse número, quando combinado com as informações fornecidas pelo bloco e, em seguida, computado por uma função hash, deve produzir um resultado que corresponda a condições pré-determinadas - por exemplo, um hash iniciando com quatro zeros. Quando um resultado válidofor encontrado, os outros nós da rede irão verificar e validar o resultado e o minerador que encontrou a resposta será recompensado com Bitcoins recém geradas e as taxas de transação daquele bloco (essa recompensa é chamada de block reward).

Portanto, é impossível adicionar um novo bloco na cadeia principal (blockchain) sem primeiro encontrar um “nonce” válido, que por sua vez gera a solução daquele bloco em específico (essa solução é chamada de “block hash”). Cada bloco validado contém um block hash que representa o trabalho feito pelo minerador, por isso o algorítimo é chamado de Proof of Work (Prova de Trabalho).

O Proof of Work ajuda a proteger a rede contra inúmeros tipos de ataque. Um ataque bem-sucedido necessitaria de muito poder computacional e muito tempo para fazer os cálculos, o que o tornaria ineficiente visto que os gastos seriam muito maiores do que as possíveis recompensas por atacar a rede.

Um problema com o Proof of Work  é que a mineração exige hardwares  muito caros e que consomem uma grande quantidade de energia, e apesar dos complicados cálculos garantirem a segurança da rede blockchain, eles não podem ser utilizados para nada além disso.

Enquanto o Proof of Work não é a solução mais eficiente, ainda sim é um dos métodos mais populares de se alcançar o consenso nas blockchains. Já existem métodos e abordagens alternativas tentando resolver os problemas, mas apenas o tempo dirá qual método será o sucessor do Proof of Work.

Fiquem ligados para mais conteúdos e não se esqueça de conferir nossos outros vídeos na Binance Academy!

Loading