Skip to main content

Nonce | Bitcoin Glossary | Mapping Bitcoin

Nonce

Mineração

Also known as: number used once

Número de 32 bits no cabeçalho do bloco que mineradores incrementam para variar o hash ao buscar prova de trabalho válida abaixo do alvo de dificuldade.

Visão Geral

O nonce ("número usado uma vez") é um campo de 32 bits no cabeçalho do bloco Bitcoin que os mineradores manipulam ao buscar uma prova de trabalho válida. Ao alterar o nonce e recalcular o hash do cabeçalho do bloco, os mineradores produzem diferentes saídas de hash, procurando uma que fique abaixo do alvo de dificuldade atual.

O Nonce no Cabeçalho do Bloco

Cabeçalho de Bloco (80 bytes):
┌──────────────┬──────────────────┬──────────────┐
│ Versão (4B)  │ Hash Bloco Prev  │ Raiz Merkle  │
│              │    (32B)         │    (32B)     │
├──────────────┼──────────────────┼──────────────┤
│ Timestamp    │ Bits Dificuldade │   Nonce      │
│   (4B)       │     (4B)         │   (4B)       │
└──────────────┴──────────────────┴──────────────┘
                                      ↑
                              Mineradores variam isso

O Problema do Espaço de Nonce

O nonce é apenas de 32 bits, o que significa que fornece 2^32 (cerca de 4,3 bilhões) valores possíveis. Os modernos mineradores ASIC podem esgotar todo o espaço de nonce em menos de um segundo. Quando isso acontece, os mineradores devem alterar outros campos para obter um novo conjunto de hashes para tentar:

  • Timestamp: Pode ser ajustado dentro de um intervalo válido
  • Transação coinbase: Alterar os dados coinbase muda a raiz Merkle, produzindo um espaço de nonce completamente novo
  • Extra nonce: Um campo dentro da transação coinbase usado especificamente para este propósito

Loop de Mineração

while true:
    for nonce in 0 to 2^32 - 1:
        hash = SHA256(SHA256(cabecalho_com_nonce))
        if hash < alvo:
            return bloco  // Bloco válido encontrado!
    // Espaço de nonce esgotado
    modificar_extra_nonce_coinbase()
    recalcular_raiz_merkle()

Conceitos Errôneos Comuns

O nonce não é um valor secreto ou criptográfico — é simplesmente um contador que os mineradores iteram. Não há nada de especial no nonce vencedor; qualquer valor que produza um hash abaixo do alvo é igualmente válido. O processo é pura força bruta sem atalho matemático.