Mineração

Nonce

O nonce é um número que o minerador altera a cada tentativa no cabeçalho do bloco, para obter um hash que respeite o alvo da rede.

A palavra nonce vem do inglês «number used once», um número utilizado uma única vez. Na mineração de Bitcoin, é um campo de 32 bits colocado no cabeçalho de cada bloco candidato. O cabeçalho contém também o hash do bloco anterior, o resumo das transações, o carimbo temporal e o alvo de dificuldade: o nonce é a parte que o minerador faz variar livremente.

Minerar consiste em calcular o hash do cabeçalho, verificar se o resultado está abaixo do alvo e, depois, mudar o nonce e recomeçar. Como o resultado de uma função de hash é imprevisível, não existe nenhum atalho: experimentam-se os valores um a um. Um campo de 32 bits oferece apenas cerca de 4,3 mil milhões de possibilidades, que um ASIC moderno esgota numa fração de segundo. O minerador altera então outros elementos, como o extranonce colocado na transação coinbase, para obter um novo cabeçalho e recomeçar do zero.

O hashrate de uma máquina corresponde ao número de tentativas deste tipo que efetua por segundo. Num ASIC, a placa de controlo recebe o trabalho da pool e reparte-o pelos chips das placas de hash, cada um a explorar o seu próprio intervalo de valores. Se uma placa de hash avariar, são outras tantas tentativas a menos por segundo e, portanto, um hashrate mais baixo.

A nossa página 3D dedicada a um Antminer com refrigeração hidro permite conhecer de perto este tipo de máquina.