MSTR Cat

Blockchain/Nível II · Mecânica/2.3 Blocos e a cadeia/Lição 4

Prova de trabalho e o alvo

O bilhete de loteria que custa energia para comprar e um hash para verificar

MateriaisUma interface de explorador de blocosUma calculadora hexadecimal ou ambiente de programação capaz de SHA-256A documentação Bitcoin Developer Reference

Curiosidade

  1. Por que um alvo numérico mais baixo torna mais difícil encontrar um hash válido?
  2. Como um valor de quatro bytes pode codificar um número grande o suficiente para restringir 2^256 possibilidades?
  3. O que acontece com o tempo de bloco esperado quando o poder de hash dobra, mas o alvo permanece inalterado?

Explorar

  1. Um bloco é aceito somente se resolver um quebra-cabeça computacional. O minerador precisa encontrar um cabeçalho de 80 bytes cujo hash SHA-256 duplo seja numericamente menor ou igual a um limite específico, conhecido como alvo. Essa restrição transforma o processo de criação do bloco em uma busca por um número raro dentro de um espaço enorme de 2^256 hashes possíveis. A validade de qualquer bloco candidato depende inteiramente dessa única desigualdade matemática.
  2. O próprio alvo não é armazenado em sua forma completa de 32 bytes, pois isso consumiria espaço excessivo no cabeçalho. Em vez disso, ele é compactado em quatro bytes chamados “nBits”, utilizando um esquema de codificação mantissa-expoente. O formato tem perda de precisão, mantendo apenas uma mantissa de três bytes; portanto, o alvo é ligeiramente arredondado, o que na prática não tem nenhum custo. A decodificação desses quatro bytes reconstitui o número enorme de 256 bits que define o limite superior para valores de hash aceitáveis.
  3. Para encontrar um hash válido, os mineradores percorrem variações dos campos do cabeçalho. A variável principal é o nonce de 32 bits, que oferece aproximadamente 4,3 bilhões de valores distintos por ciclo de tentativas. Quando a velocidade do hardware esgota essas combinações instantaneamente, os mineradores modificam o extra-nonce na transação coinbase ou ajustam o timestamp para gerar novas raízes de Merkle e configurações de cabeçalho. Cada alteração produz uma saída de hash completamente diferente, criando, na prática, um novo bilhete de loteria.
  4. O trabalho esperado aumenta em proporção direta à dificuldade, enquanto o alvo se move na direção oposta: quando a rede reajusta o alvo após o aumento do poder de hash, o alvo diminui, exigindo mais zeros iniciais na representação binária para uma solução válida. O número esperado de hashes necessários para encontrar um bloco é aproximadamente a dificuldade multiplicada por 2^32. Esse escalonamento garante que, independentemente de a mineração ser feita em laptops ou em fazendas industriais, o intervalo médio entre os blocos permaneça estável, em aproximadamente dez minutos.
  5. A verificação é assimétrica em relação à criação. Enquanto encontrar um hash válido pode exigir bilhões de tentativas, verificá-lo requer apenas um SHA-256 duplo do cabeçalho e uma comparação com o alvo. Portanto, a verificação da prova de trabalho é instantânea, embora a validação completa de um bloco ainda signifique verificar todas as transações nele contidas. O modelo de segurança se baseia nessa disparidade: criar trabalho é caro, mas confiar nesse trabalho é barato.
  6. O bloco gênese foi minerado com dificuldade 1, a mais baixa que as regras permitem; mesmo assim, um hash válido exigia cerca de 32 bits zero iniciais, ou seja, aproximadamente um sucesso a cada 4,3 bilhões de tentativas. Os blocos recentes exigem muito mais zeros iniciais, pois o poder de hash global cresceu várias ordens de grandeza. Comparar a representação hexadecimal do hash do bloco 1 com a de um bloco atual revela essa mudança drástica de um campo aberto para um espaço de busca fortemente restrito.

Fatos-chave

  • O hash do cabeçalho de um bloco válido do Bitcoin deve ser numericamente menor ou igual ao seu alvo de dificuldade.
  • O alvo é armazenado de forma compacta em quatro bytes como “nBits”, usando codificação mantissa-expoente.
  • Os mineradores variam o nonce de 32 bits, o extra-nonce da coinbase e o timestamp para gerar novos candidatos a hash.
  • A dificuldade é definida como o alvo máximo possível dividido pelo alvo atual.
  • Verificar a prova de trabalho de um bloco requer um SHA-256 duplo do cabeçalho e uma comparação.
  • O bloco gênese foi minerado com dificuldade 1.

Exercício nove, seis, três, um

9ReunirListe 9 componentes ou variáveis distintos envolvidos no cálculo da prova de trabalho para o cabeçalho de um bloco do Bitcoin.
6AgruparAgrupe esses 9 itens em 6 categorias com base no fato de serem fixos, variáveis por tentativa, variáveis por ciclo, codificados de forma compacta, derivados de transações ou usados para verificação.
3DestilarReduza os 6 grupos a 3 princípios fundamentais que regem como a dificuldade varia com o poder de hash da rede.
1CristalizarEscreva 1 frase explicando por que a prova de trabalho é difícil de produzir, mas fácil de verificar.

Verificação de fatos

Datas, números e afirmações verificados com as fontes publicadas listadas abaixo.

Abrir na academia interativa →

EN ES ZH JA KO RU DE FR MS