0%

Modulo 13 - Mineração

A prova de trabalho em detalhe

16 min de leitura

O que voce vai aprender

  • Entender como a prova de trabalho funciona, sem matemática pesada.
  • Ver como o minerador busca um hash que satisfaz uma condição.
  • Compreender por que isso exige tanto esforço computacional.
  • Entender por que é difícil achar mas fácil verificar.

O coração da mineração

Na aula anterior, vimos o que é a mineração em geral. Agora vamos ao coração dela: a prova de trabalho, o mecanismo específico pelo qual o minerador fecha um bloco. Já a encontramos ao falar de blockchain e segurança; aqui vamos entender como ela funciona, em linguagem acessível, apoiando-nos no hash que você já conhece. A prova de trabalho é, ao mesmo tempo, o que custa esforço na mineração e o que protege a rede, então entendê-la é entender de onde vem a segurança do Bitcoin.

Lembre do hash, a impressão digital dos dados que estudamos: o SHA-256 pega qualquer informação e gera um código de tamanho fixo, de forma que qualquer mudança na entrada muda completamente o resultado, e não dá para prever o hash sem calculá-lo. A prova de trabalho usa justamente essa imprevisibilidade do hash. O minerador precisa achar um hash do bloco que satisfaça uma condição específica, e, como não dá para prever o hash, a única forma é tentar muitas e muitas vezes, mudando um detalhe a cada tentativa.

Prova de trabalho
A tarefa que o minerador resolve para fechar um bloco: buscar, por tentativa e erro, um hash do bloco que fique abaixo de um alvo definido. Exige muito esforço para achar, mas é fácil de verificar.

O nome prova de trabalho é literal: ao achar esse hash especial, o minerador prova que gastou trabalho, esforço computacional, para encontrá-lo. Esse trabalho é a garantia de que houve custo real para fechar o bloco, e é o que torna reescrever a história caro, como vimos. A prova de trabalho transforma esforço em segurança: quanto mais trabalho foi investido na corrente, mais difícil é refazê-la. Vamos entender como essa busca funciona e por que ela tem essas propriedades.

Buscar um hash abaixo de um alvo

Vamos ao mecanismo. Para fechar um bloco, o minerador calcula o hash do cabeçalho do bloco, que inclui um campo livre que ele pode mudar, chamado de número usado uma vez. A condição que o hash precisa satisfazer é ficar abaixo de um certo alvo, ou seja, ser um número suficientemente pequeno, com uma quantidade de zeros no início. Como o hash é imprevisível, o minerador não sabe qual valor daquele campo livre vai gerar um hash abaixo do alvo; ele precisa testar muitos valores até achar um que funcione.

O processo é, então, de tentativa e erro em massa. O minerador escolhe um valor para o campo livre, calcula o hash do bloco, e verifica se ficou abaixo do alvo. Se não, muda o valor e tenta de novo. E de novo. Bilhões e bilhões de vezes por segundo, os equipamentos de mineração fazem isso, testando valores até que um deles produza um hash abaixo do alvo. Quando isso acontece, o bloco está fechado: o minerador encontrou a prova de trabalho, e pode transmitir o bloco para a rede.

Alvo (target)
O número abaixo do qual o hash do bloco precisa ficar para a prova de trabalho ser válida. Quanto menor o alvo, mais difícil achar um hash que o satisfaça, e mais esforço a mineração exige.

É como procurar, por tentativa e erro, uma combinação que abre um cadeado, sabendo apenas se a tentativa funcionou ou não, sem nenhuma pista para adivinhar a próxima. A única estratégia é testar muitas combinações até achar uma que sirva. No Bitcoin, a quantidade de tentativas necessárias é astronômica, o que exige um poder de computação enorme e muita energia. Esse é o trabalho da prova de trabalho: a busca cega e massiva por um hash que satisfaça a condição, custando esforço real.

Por que isso custa tanto esforço

Por que essa busca custa tanto? Porque, como o hash é imprevisível, não há atalho: a única forma de achar um hash abaixo do alvo é tentar, e a chance de cada tentativa funcionar é minúscula, dado o quão baixo é o alvo. Para ter uma boa chance de achar, é preciso fazer um número gigantesco de tentativas, e isso exige muitos cálculos de hash por segundo, o que consome poder de computação e energia. O esforço não é desperdício aleatório; é o custo necessário para encontrar a prova.

Esse custo é proposital e essencial. É justamente porque fechar um bloco custa muito esforço que a história fica protegida: refazer um bloco exigiria repetir esse esforço, e refazer muitos blocos exigiria um esforço proibitivo. Se fosse fácil e barato achar a prova de trabalho, seria fácil e barato reescrever a história, e a segurança ruiria. Portanto, o custo da prova de trabalho não é um defeito a ser eliminado; é a fonte da segurança, o que torna a adulteração economicamente inviável.

Os mineradores investem em equipamentos cada vez mais eficientes para fazer mais tentativas por segundo com menos energia, competindo para achar a prova de trabalho antes dos outros. Quem acha primeiro fecha o bloco e leva a recompensa. Essa competição empurra a quantidade total de tentativas por segundo na rede, o poder de mineração, para cima, o que aumenta a segurança. Quanto mais poder de computação honesto competindo, mais caro seria para um atacante superá-lo, e mais segura fica a rede.

Vale notar que o esforço da prova de trabalho é o que conecta o mundo digital do Bitcoin a um custo do mundo real, em energia e equipamento. Essa ligação com um custo físico é parte do que dá solidez ao Bitcoin: a segurança não é só código, é código ancorado em um custo real de energia. Esse ponto é central no debate sobre energia, que veremos: o consumo da mineração não é um efeito colateral inútil, mas o mecanismo que ancora a segurança da rede no mundo físico.

Difícil de achar, fácil de verificar

Uma propriedade genial da prova de trabalho é a assimetria entre achar e verificar. Achar a prova de trabalho é dificílimo, exige bilhões de tentativas e muito esforço. Mas verificar que uma prova de trabalho é válida é instantâneo: basta calcular uma vez o hash do bloco e conferir que ele está abaixo do alvo. Qualquer pessoa, com um computador comum, verifica em um instante o que custou um esforço enorme para achar. Essa assimetria é o que torna o sistema viável e seguro ao mesmo tempo.

Por que essa assimetria importa? Porque ela permite que toda a rede verifique facilmente o trabalho de cada minerador, sem precisar repeti-lo. Quando um minerador transmite um bloco, todos os nós conferem, em um instante, que a prova de trabalho é válida, calculando o hash uma vez. Se for válida, aceitam o bloco; se não, rejeitam. Assim, o esforço de achar é caro e concentrado em quem minera, mas a verificação é barata e feita por todos, o que mantém a rede honesta sem custo de verificação alto.

Essa assimetria é uma propriedade conhecida de certos problemas matemáticos, e a prova de trabalho do Bitcoin a explora com maestria. É o mesmo princípio de um quebra-cabeça difícil de montar mas fácil de conferir quando montado, ou de uma senha difícil de adivinhar mas fácil de verificar quando digitada. No Bitcoin, achar o hash abaixo do alvo é o problema difícil; conferir que ele está abaixo do alvo é a verificação fácil. Essa combinação é o que faz a prova de trabalho funcionar como base da segurança.

Graças a essa assimetria, você mesmo, ou o seu nó, pode verificar que cada bloco da blockchain tem uma prova de trabalho válida, sem precisar refazer o esforço da mineração. É parte do verificar em vez de confiar: você não confia que os mineradores fizeram o trabalho; você verifica, conferindo os hashes, que o trabalho foi feito. Essa verificação barata e universal é o que permite a todos confiarem na segurança da corrente sem confiar em nenhum minerador específico, apenas na matemática.

A prova de trabalho e o encadeamento

Vamos juntar a prova de trabalho com o encadeamento que vimos no módulo da blockchain, porque é a combinação dos dois que cria a imutabilidade. Cada bloco inclui o hash do bloco anterior, encadeando a corrente, e cada bloco tem a sua prova de trabalho. Para alterar um bloco antigo, o atacante mudaria o seu conteúdo, o que mudaria o seu hash, quebrando o encadeamento com os seguintes. Para consertar, teria que refazer a prova de trabalho daquele bloco e de todos os posteriores, um esforço proibitivo.

É por isso que a segurança cresce com a profundidade, com o número de confirmações. Alterar uma transação recém-incluída exigiria refazer a prova de trabalho de poucos blocos; alterar uma transação enterrada sob muitos blocos exigiria refazer a prova de trabalho de todos eles, e ainda superar o ritmo da rede honesta, que continua adicionando blocos. Cada confirmação adiciona mais trabalho que teria que ser refeito, tornando a alteração cada vez mais inviável. A prova de trabalho é o que dá peso a cada confirmação.

Essa é a explicação técnica completa, agora com a prova de trabalho detalhada, de por que o passado da blockchain vira pedra. Não é magia nem promessa: é a combinação do hash, que detecta qualquer alteração, do encadeamento, que propaga a alteração, e da prova de trabalho, que torna refazer caríssimo. Quem entende esses três elementos entende, de verdade, a base da imutabilidade do Bitcoin, e pode explicá-la com propriedade, em vez de apenas repetir que a blockchain é imutável.

Por isso se diz que a segurança do Bitcoin é ancorada no trabalho acumulado. Toda a prova de trabalho investida em todos os blocos, ao longo dos anos, forma uma muralha de esforço que protege o histórico. Reescrever exigiria refazer essa muralha inteira a partir do ponto que se quer alterar, mais rápido do que a rede honesta constrói novos blocos. É uma barreira que cresce a cada bloco, e que torna o Bitcoin, após mais de uma década, extraordinariamente seguro contra adulteração do passado.

A mineração como uma loteria

Uma forma útil de entender a mineração é como uma loteria constante. Cada tentativa de hash é como um bilhete: a chance de cada uma achar a prova de trabalho é minúscula, mas, fazendo bilhões de tentativas, o minerador tem uma chance proporcional ao seu poder de computação de achar a prova antes dos outros. Quem tem mais poder de computação compra, por assim dizer, mais bilhetes por segundo, e tem mais chance de fechar o próximo bloco. Mas até quem tem pouco poder tem alguma chance, por sorte.

Essa natureza de loteria explica por que o tempo entre blocos varia, mesmo com a média de dez minutos. Às vezes alguém acha a prova rápido, por sorte; às vezes demora mais. É como uma loteria em que, na média, alguém ganha a cada dez minutos, mas o intervalo exato varia. A dificuldade, que veremos, é ajustada para manter essa média de dez minutos, independentemente de quanto poder de computação está minerando. A aleatoriedade de cada sorteio é inerente ao processo.

Essa analogia da loteria também ajuda a entender os pools de mineração, que veremos: mineradores menores se juntam para combinar o seu poder de computação, aumentando a chance do grupo de achar blocos, e dividem a recompensa proporcionalmente. É como um bolão de loteria: juntos, têm mais chance de ganhar, e dividem o prêmio. Sozinho, um minerador pequeno poderia passar muito tempo sem achar um bloco; no pool, recebe uma parte mais regular, proporcional ao seu poder, o que torna a mineração viável para participantes menores.

A natureza de loteria, com chance proporcional ao poder de computação, é o que torna a competição justa no sentido de ser proporcional ao esforço: quem investe mais poder tem mais chance, sem garantia, mas proporcional. Não há como trapacear a loteria; só há como comprar mais bilhetes, ou seja, investir mais poder de computação. Essa proporcionalidade entre esforço e chance é parte do que mantém a mineração honesta: vale mais a pena investir em minerar honestamente do que tentar burlar, o que não funciona.

A prova de trabalho e o custo em energia

A prova de trabalho liga a segurança do Bitcoin a um custo em energia, que é o tema mais debatido sobre a mineração. Como achar a prova exige bilhões de tentativas, e cada tentativa consome eletricidade, a mineração consome energia, e bastante, no total da rede. Esse consumo é frequentemente criticado, e também defendido, num debate que a aula sobre energia vai aprofundar. Aqui, o ponto é entender de onde vem esse consumo: ele é o custo da busca pela prova de trabalho, não um desperdício acidental.

É importante compreender que esse consumo de energia tem uma função: ele é o que ancora a segurança da rede no mundo físico. A energia gasta é o custo real que torna a adulteração inviável, como vimos. Por isso, defensores argumentam que o consumo não é desperdício, mas o preço da segurança de uma rede monetária sem dono. Críticos questionam se esse preço vale a pena, ou se poderia ser menor. O debate é legítimo e tem dois lados, que veremos com honestidade na aula sobre energia.

Vale antecipar que existem outras formas de proteger redes parecidas, que não usam prova de trabalho e consomem menos energia, e que o Bitcoin escolheu a prova de trabalho por razões de segurança e simplicidade que veremos. Não é que o Bitcoin não pudesse usar outra forma; é que a prova de trabalho foi a escolha, com as suas vantagens de segurança e o seu custo em energia. Entender que é uma escolha, com prós e contras, ajuda a discutir o tema sem dogmatismo, reconhecendo o que se ganha e o que se paga.

Por ora, o essencial é entender que a prova de trabalho, o coração da mineração, tem um custo em energia que é parte do seu funcionamento, não um acidente. Esse custo é o que dá segurança à rede, ancorando-a no mundo físico. O debate sobre se esse custo vale a pena, e sobre o impacto ambiental, é importante e será tratado com cuidado. Mas a compreensão técnica, de que a energia é o custo da busca pela prova e a fonte da segurança, é a base para discutir o tema com propriedade.

Por que a prova de trabalho funciona tão bem

Vale reunir por que a prova de trabalho é uma solução tão engenhosa. Ela resolve, de uma vez, vários problemas: cria uma forma justa de decidir quem fecha cada bloco, proporcional ao esforço; torna a adulteração do passado caríssima, ancorando a segurança em um custo real; permite que todos verifiquem facilmente o trabalho, pela assimetria entre achar e verificar; e emite moedas novas de forma controlada, recompensando quem investe esforço. Poucas peças resolvem tantos problemas de uma vez, e essa elegância é admirada mesmo por críticos.

A prova de trabalho também resolve, sem uma autoridade central, o problema de decidir qual versão da história é a verdadeira, que vimos com a regra da cadeia mais longa. A cadeia com mais prova de trabalho acumulada é a verdadeira, e isso é objetivo e verificável por todos, sem precisar de um árbitro. Essa capacidade de criar consenso sobre a história, sem autoridade, usando a prova de trabalho como medida objetiva, é uma das contribuições mais profundas do Bitcoin para a ciência da computação.

Por isso a prova de trabalho, apesar do seu custo em energia, é defendida por muitos como a forma mais robusta e testada de proteger uma rede monetária descentralizada. Ela funciona há mais de uma década, protegendo um valor enorme, sem falhar. Essa robustez comprovada é um argumento forte a favor dela, mesmo diante das críticas ao consumo de energia. O debate sobre alternativas e custos é válido, mas o histórico de segurança da prova de trabalho do Bitcoin é um fato que pesa na discussão.

Com esta aula, você entende a prova de trabalho em detalhe: a busca por um hash abaixo de um alvo, o esforço que custa, a assimetria entre achar e verificar, e como ela, com o encadeamento, cria a imutabilidade. Esse entendimento é o coração técnico do Bitcoin, e dá substância concreta à segurança que você confia. Na próxima aula, vamos ver como a dificuldade dessa busca é ajustada automaticamente para manter o ritmo de dez minutos, mesmo com mais ou menos mineradores.

A documentação do Bitcoin descreve a prova de trabalho como o mecanismo em que os mineradores buscam um valor que produza um hash válido para o bloco, o que exige esforço computacional e protege a rede contra alterações. (Bitcoin.org - como funciona)

Juntando a prova de trabalho

Recapitulando: a prova de trabalho é a busca, por tentativa e erro, de um hash do bloco que fique abaixo de um alvo. Como o hash é imprevisível, não há atalho: achar exige bilhões de tentativas, o que custa esforço computacional e energia. Mas verificar é instantâneo, qualquer um confere calculando o hash uma vez. Esse custo de achar é o que torna reescrever a história caríssimo, e a combinação com o encadeamento cria a imutabilidade. A mineração é como uma loteria, com chance proporcional ao poder de computação.

Com esta aula, você domina o coração técnico da mineração e da segurança do Bitcoin. Entende como o minerador fecha um bloco, por que isso custa esforço, por que é fácil de verificar, e como tudo isso protege a história. Esse entendimento, em linguagem acessível, coloca você num patamar de compreensão que poucos alcançam, capaz de explicar de onde vem, concretamente, a segurança do Bitcoin. A prova de trabalho deixou de ser uma expressão técnica e virou um mecanismo que você compreende.

Na próxima aula, vamos ver a dificuldade e o seu ajuste automático: como a rede mantém o ritmo de dez minutos por bloco, mesmo quando o poder de mineração total muda muito, aumentando ou diminuindo a dificuldade da prova de trabalho. É um mecanismo elegante de autorregulação, que mantém o Bitcoin previsível independentemente de quantos mineradores estão ativos. Com a prova de trabalho entendida, ver como a sua dificuldade se ajusta completa a compreensão do mecanismo da mineração.

O site oficial do Bitcoin explica que a prova de trabalho exige que os mineradores encontrem um hash que satisfaça uma dificuldade definida, e que essa solução, difícil de obter, é trivial de verificar pela rede. (Bitcoin.org - vocabulário)

Perguntas frequentes

O que é a prova de trabalho?
É a tarefa que o minerador resolve para fechar um bloco: buscar, por tentativa e erro, um hash do cabeçalho do bloco que fique abaixo de um alvo. Exige muito esforço para achar, mas é fácil de verificar.
Por que achar a prova de trabalho custa tanto?
Porque o hash é imprevisível, então não há atalho: a única forma de achar um hash abaixo do alvo é tentar bilhões de vezes. Isso consome poder de computação e energia, um custo real que é o que torna a adulteração inviável.
Se é tão difícil achar, como a rede confere?
Pela assimetria entre achar e verificar: achar exige bilhões de tentativas, mas verificar é instantâneo, basta calcular o hash uma vez e conferir que está abaixo do alvo. Todos os nós verificam facilmente o que custou caro para achar.
Como a prova de trabalho torna o passado imutável?
Combinada com o encadeamento: alterar um bloco muda o seu hash e quebra a ligação com os seguintes, exigindo refazer a prova de trabalho dele e de todos os posteriores, um esforço proibitivo. Por isso a segurança cresce a cada confirmação.
Por que a mineração é como uma loteria?
Porque cada tentativa de hash tem chance minúscula de achar a prova, e quem tem mais poder de computação faz mais tentativas, com mais chance, mas sem garantia. Por isso o tempo entre blocos varia, com média mantida em dez minutos.
A prova de trabalho gasta muita energia?
Sim, pois achar a prova exige bilhões de tentativas que consomem eletricidade. Esse consumo ancora a segurança da rede no mundo físico, e é o tema mais debatido sobre a mineração, que a aula sobre energia aprofunda com os dois lados.

Fontes

Marque a aula para acompanhar seu progresso no curso. Funciona sem login, salvo neste aparelho.