Glossário / Mineração e consenso
Limite alvo
Outros nomes: Target.
- O que é o limite alvo?
- O limite alvo é o número de 256 bits que o hash de um cabeçalho de bloco deve atingir ou ficar abaixo para que o bloco conte como prova de trabalho válida.
A mineração é uma comparação, não um enigma com uma resposta. O minerador calcula o hash de um cabeçalho candidato, lê o resultado de 32 bytes como um número e verifica se ele é pequeno o bastante. Hashes válidos são raros por definição, então a única forma de encontrar um é continuar tentando, e essa tentativa repetida é o que converte eletricidade na segurança da cadeia.
Como funciona
O limite alvo é um teto para um número, e o número é o hash duplo SHA-256 do cabeçalho de bloco de 80 bytes.
Um nó calcula o hash do cabeçalho, lê o resultado como um inteiro little endian e o compara com o alvo decodificado a partir do campo nBits do cabeçalho. Um alvo mais baixo significa menos hashes aceitáveis e mais tentativas necessárias. O teto mais fácil que a mainnet permite é 0x00000000FFFF0000 seguido de zeros, o que corresponde à dificuldade 1 e a aproximadamente um hash válido a cada 4.295 milhões de tentativas. Multiplique isso pela dificuldade atual e você obtém o trabalho esperado por bloco: com a dificuldade de 148,2 trilhões registrada no último ajuste de 2025, um bloco em média custa à rede inteira algo em torno de 640 zettahashes.
Dois detalhes são fáceis de errar. Primeiro, o teste é “menor ou igual a”, então um hash exatamente igual ao alvo é válido. Segundo, os zeros à esquerda que todos apontam em um hash de bloco são um artefato de como os hashes são exibidos, não a regra em si. Os exploradores os mostram na ordem inversa dos bytes, então um número pequeno aparece como uma sequência de zeros à esquerda, mas a verificação de consenso é aritmética e nunca conta caracteres.
Há também um teto absoluto escrito nas regras, chamado powLimit, que nenhum retarget pode ultrapassar. É o que impede que o limite se afrouxe sem limite se uma grande parte da rede for desligada de uma vez.
Onde você vê isso
O limite alvo quase nunca é exibido como ele mesmo, então você o encontra em um de três disfarces.
Os exploradores de blocos o mostram como dificuldade, que é simplesmente o alvo mais fácil permitido dividido pelo atual. O software de mineração o recebe dentro de uma resposta getblocktemplate como um campo target. Os pools enviam às suas máquinas um alvo de share deliberadamente muito mais fácil que o alvo da rede, para que uma máquina possa provar que está trabalhando sem ter que encontrar primeiro um bloco real. O Bitcoin Core aplica a regra em CheckProofOfWork, algumas linhas que decodificam nBits, rejeitam qualquer valor acima de powLimit ou menor ou igual a zero, e depois comparam.
As redes de teste o afrouxam de propósito. A testnet permite um bloco de dificuldade mínima após vinte minutos sem nenhum, e é por isso que os bitcoins de teste são triviais de minerar e não valem absolutamente nada.
Limite alvo vs dificuldade
O limite alvo é o limite bruto; a dificuldade é uma representação legível do mesmo fato, e os dois se movem em direções opostas. Quando a dificuldade dobra, o alvo cai pela metade. A dificuldade existe porque um teto hexadecimal de 64 dígitos é impossível de comparar de relance, e porque uma razão atravessa os anos: uma dificuldade de 1 em janeiro de 2009 contra 148,2 trilhões no fim de 2025 conta uma história que duas strings hexadecimais não conseguem contar.