Visão geral
O cabeçalho de bloco é um resumo compacto de 80 bytes do conteúdo e contexto de um bloco. É a estrutura de dados que os mineradores fazem hash bilhões de vezes por segundo na busca por uma prova de trabalho válida. Apesar de seu tamanho pequeno, o cabeçalho compromete criptograficamente todos os dados do bloco por meio da raiz Merkle.
Campos do cabeçalho
Offset Tamanho Campo Descrição
──────────────────────────────────────────────────────────────
0 4 bytes Versão Versão do protocolo / bits de sinalização
4 32 bytes Hash do bloco anterior Hash SHA-256d do cabeçalho do bloco anterior
36 32 bytes Raiz Merkle Hash raiz de todas as transações do bloco
68 4 bytes Timestamp Tempo Unix em segundos
72 4 bytes Bits Alvo de dificuldade codificado
76 4 bytes Nonce Contador que os mineradores iteram
──────────────────────────────────────────────────────────────
Total: 80 bytes
O processo de mineração
A mineração envolve fazer hash repetidamente do cabeçalho do bloco com diferentes valores de nonce (e outros campos variáveis, como o extra nonce da transação coinbase) até que o hash resultante seja numericamente menor do que o alvo de dificuldade codificado no campo "Bits":
while true:
header.nonce += 1
hash = SHA256(SHA256(header))
if hash < target:
bloco válido!
break
Por que 80 bytes importam
O tamanho fixo e pequeno do cabeçalho de bloco possibilita a verificação leve. Clientes de Verificação Simplificada de Pagamento (SPV) podem baixar apenas a cadeia de cabeçalhos (80 bytes por bloco) em vez dos blocos completos, reduzindo drasticamente os requisitos de largura de banda e armazenamento, enquanto ainda conseguem verificar se uma transação está incluída em um bloco via provas Merkle.
Campo de versão e sinalização
O campo de versão não é apenas um número de protocolo estático. Por meio do BIP9, bits individuais no campo de versão são usados pelos mineradores para sinalizar suporte a soft forks propostos. Esse mecanismo de sinalização permite que a rede coordene atualizações de protocolo sem uma autoridade central.