É designado de nonce ou ‘number that can only be used once’ (número que só se pode usar uma vez), um número arbitrário que se usa na criptografia, dentro dos chamados protocolos de autenticação.

Numa rede blockchain baseada em proof-of-work (prova de trabalho), o nonce funciona numa combinação com o hash, como elemento de controlo para evitar a manipulação das informações dos blocos.

Este número aleatório garante que os hash antigos não possam ser reutilizados, naquilo que se chamam ataques de repetição.

Descrevendo numa frase, um nonce criptográfico é:

Um número aleatório que é usado apenas uma vez, e que serve para a autenticação da transferência de dados entre duas ou mais partes.

Por norma o nonce também utiliza um timestamp como registo temporal.

Também poderíamos adicionar um cliente nonce ou ‘cnonce’, melhorando desta forma a segurança implementada na autenticação dos acessos.

De forma a garantir que o nonce é usado apenas uma vez, deve ser adicionada uma variável temporal que evite repetições.

Outra possibilidade para poder haver essa garantia, será serem gerados um número suficiente bits de forma aleatória, para que a probabilidade de ser gerado novamente um numero igual a outro anterior, seja ínfima.

Isto garante mais segurança e faz com que qualquer alteração efetuada dentro do bloco, se torne impossível, uma vez que a alteração de qualquer elemento dentro desse altera o hash inteiro e a estrutura inteira do bloco.

O cálculo do nonce é feito de forma forçada, ou seja, requer grandes quantidades de recursos de computação e de tempo, pelo que para obter este valor é necessário realizar uma prova de trabalho PoW.

É impossível prever uma combinação de bits (por norma 32 bits), que resultará num hash correto.

Este articulo foi util?
Average Scoring: 0
➜ Share the knowledge and promote the decentralized revolution!