23 Junho 2021 5:10

Prova de Trabalho (PoW)

O que é prova de trabalho (PoW)?

Prova de trabalho (PoW) descreve um sistema que requer uma quantidade de esforço não insignificante, mas viável, a fim de impedir o uso frívolo ou malicioso do poder da computação, como o envio de e-mails de spam ou o lançamento de ataques de negação de serviço. O conceito foi posteriormente adaptado para garantir dinheiro digital por Hal Finney em 2004 por meio da ideia de “prova de trabalho reutilizável” usando o algoritmo de hash SHA-256.

Após sua introdução em 2009, o Bitcoin se tornou a primeira aplicação amplamente adotada da ideia PoW de Finney (Finney também foi o destinatário da primeira transação de bitcoin). A prova de trabalho também forma a base de muitas outras criptomoedas, permitindo um consenso seguro e descentralizado.

Principais vantagens

  • Prova de trabalho (PoW) é um mecanismo de consenso descentralizado que exige que os membros de uma rede se esforcem para resolver um quebra-cabeça matemático arbitrário para impedir que alguém engane o sistema.
  • A prova de trabalho é amplamente utilizada na mineração de criptomoedas, para validar transações e minerar novos tokens.
  • Devido à prova de trabalho, Bitcoin e outras transações de criptomoeda podem ser processadas ponto a ponto de maneira segura, sem a necessidade de terceiros de confiança.
  • A prova de trabalho em escala requer grandes quantidades de energia, que só aumenta à medida que mais mineradores se conectam à rede.
  • Prova de interesse (POS) foi um dos vários novos mecanismos de consenso criados como uma alternativa à prova de trabalho.

Compreender a prova de trabalho

Esta explicação se concentrará na prova de trabalho, uma vez que funciona na rede bitcoin. Bitcoin é uma moeda digital sustentada por uma espécie de razão distribuída conhecida como ” blockchain “. Esse livro-razão contém um registro de todas as transações de bitcoin, organizadas em “blocos” sequenciais, de modo que nenhum usuário tenha permissão para gastar duas vezes suas posses. Para evitar adulterações, o livro-razão é público ou “distribuído”; uma versão alterada seria rapidamente rejeitada por outros usuários.

A maneira como os usuários detectam a violação na prática é por meio de hashes, longas sequências de números que servem como prova de trabalho. Coloque um determinado conjunto de dados por meio de uma função hash (o bitcoin usa SHA-256) e só gerará um hash. Devido ao “efeito avalanche”, no entanto, mesmo uma pequena alteração em qualquer parte dos dados originais resultará em um hash totalmente irreconhecível. Qualquer que seja o tamanho do conjunto de dados original, o hash gerado por uma determinada função terá o mesmo comprimento. O hash é uma função unilateral: não pode ser usado para obter os dados originais, apenas para verificar se os dados que geraram o hash correspondem aos dados originais.

Gerar qualquer hash para um conjunto de transações bitcoin seria trivial para um computador moderno; portanto, para transformar o processo em “trabalho”, a rede bitcoin define um certo nível de “dificuldade”. Esta configuração é ajustada para que um novo bloco seja ” extraído ” – adicionado ao blockchain gerando um hash válido – aproximadamente a cada 10 minutos. A definição da dificuldade é realizada estabelecendo-se um “destino” para o hash : quanto menor o destino, menor o conjunto de hashes válidos e mais difícil é gerá-lo. Na prática, isso significa um hash que começa com uma longa sequência de zeros.



A prova de trabalho foi inicialmente criada como uma proposta de solução para o problema crescente de e-mail de spam.

Considerações Especiais

Uma vez que um determinado conjunto de dados pode gerar apenas um hash, como os mineradores se certificam de que geram um hash abaixo do destino? Eles alteram a entrada adicionando um inteiro, chamado nonce (“número usado uma vez”). Assim que um hash válido é encontrado, ele é transmitido para a rede e o bloco é adicionado ao blockchain.

A mineração é um processo competitivo, mas é mais uma loteria do que uma corrida. Em média, alguém irá gerar provas de trabalho aceitáveis ​​a cada dez minutos, mas quem será, ninguém sabe. Os mineiros se unem para aumentar suas chances de blocos de mineração, o que gera taxas de transação e, por um tempo limitado, uma recompensa de bitcoins recém-criados.

A prova de trabalho torna extremamente difícil alterar qualquer aspecto do blockchain, uma vez que tal alteração exigiria reminerar todos os blocos subsequentes. Também torna difícil para um usuário ou grupo de usuários monopolizar o poder de computação da rede, uma vez que o maquinário e o poder necessários para completar as funções hash são caros.



Se parte de uma rede de mineração começa a aceitar uma prova de trabalho alternativa, isso é conhecido como hard fork.

Exemplo de prova de trabalho

A prova de trabalho requer que um computador se envolva aleatoriamente em funções de hash até chegar a uma saída com a quantidade mínima correta de zeros à esquerda. Por exemplo, o hash para o bloco # 429818, extraído em 14 de setembro de 2016, por exemplo, é 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. A recompensa do bloco para esse hash bem-sucedido foi de 12,5 BTC.

Esse bloco sempre conterá 2.012 transações envolvendo pouco mais de 1.000 bitcoin, bem como o cabeçalho do bloco anterior. Se alguém tentasse alterar o valor de uma transação em até 0,000001 bitcoin, o hash resultante seria irreconhecível e a rede rejeitaria a tentativa de fraude.

Perguntas frequentes sobre a prova de trabalho

O que significa prova de trabalho?

O PoW requer que os nós em uma rede forneçam evidências de que eles gastaram poder computacional (ou seja, trabalho) a fim de obter consenso de maneira descentralizada e evitar que atores mal-intencionados invadam a rede.

Como a prova de trabalho valida uma transação criptografada?

O trabalho em si é arbitrário. Para Bitcoin, envolve iterações de algoritmos de hash SHA-256. O “vencedor” de uma rodada de hashing, entretanto, agrega e registra as transações do mempool no próximo bloco. Como o “vencedor” é escolhido aleatoriamente e proporcional ao trabalho realizado, isso incentiva todos na rede a agir com honestidade e registrar apenas transações verdadeiras.

Por que as criptomoedas precisam de prova de trabalho?

Por serem descentralizados e ponto a ponto por design, blockchains, como redes de criptomoedas, exigem alguma forma de obter consenso e segurança. A prova de trabalho é um desses métodos que exige muitos recursos para tentar ultrapassar a rede. Também existem outros mecanismos de prova que consomem menos recursos, mas que têm outras desvantagens ou falhas, como prova de aposta (PoS) e prova de queima. Sem um mecanismo de prova, a rede e os dados armazenados nela seriam vulneráveis ​​a ataques ou furtos.

O Bitcoin usa prova de trabalho?

sim. Ele usa um algoritmo PoW baseado na função hashing SHA-256 para validar e confirmar transações, bem como para colocar novos bitcoins em circulação.

Como a Prova de Participação (PoS) difere de PoW?

PoS é um mecanismo de consenso que atribui aleatoriamente o nó que irá minerar ou validar as transações de bloco de acordo com quantas moedas aquele nó contém. Quanto mais tokens houver em uma carteira, mais poder de mineração é efetivamente concedido a ela. Embora o PoS consuma muito menos recursos, ele tem várias outras falhas, incluindo uma chance maior de um ataque de 51% em altcoins menores e incentivos para acumular tokens e não usá-los.