Qual é o número Nonce?

Qué es el número Nonce
6 min read

Um dos tópicos mais importantes no mundo da criptografia da criptomoeda é o “Nonce“. Neste artigo vamos explicar exatamente o que é e qual é a sua função no mundo das criptomoedas.

O nonce é caracterizado por ser um número aleatório e de uso único. É utilizado em sistemas criptográficos, especificamente nos chamados protocolos de autenticação. Estes números são gerados através de um gerador de números aleatórios. Os geradores podem ser software ou hardware. Uma vez gerados, os números são utilizados numa função criptográfica específica.

O número é utilizado para programar a função. Uma vez utilizado, o número nunca mais poderá ser utilizado. Daí a difícil implementação do “Nonce”. Para que o processo seja executado corretamente, é necessário garantir que este número nunca se repetirá na existência do sistema criptográfico, o que não é tarefa fácil.

A geração aleatória destes números garante a segurança da função criptográfica na qual é utilizada. Portanto, na sua geração não pode haver um padrão reconhecível, pois de outra forma poderia quebrar os sistemas criptográficos e com ele a segurança dos nossos ativos digitais.

Como funciona o Nonce?

Cuando Satoshi diseñó la primera criptomoneda, Bitcoinincluído na sua operação um forte uso da criptografia. Bitcoin usa criptografia assimétrica, o que significa que ao emitir uma transação ou mineração um bloco a rede faz uso da função de hash chamada SHA-256. Esta função torna possível a geração de cordas de texto únicas e irrepetíveis.

Tal como o Bitcoin, muitas outras criptomoedas usam criptografia para o seu funcionamento, por isso o Nonce é muito mais importante do que pensávamos. No entanto, o funcionamento do Nonce não se limita apenas à blockchain.

O nonce é um campo de 34 bits ou 4 bytes que, como mencionamos anteriormente, não deve ser repetido. Para isso é necessária uma variante do tempo que impossibilite a repetição.

No caso do Bitcoin, o nonce participa na geração de um Block ID ou Block Hash. Este Block ID é criado através do algoritmo de consenso chamado Prova de Trabalho. Uma das tarefas do nonce é ajudar a verificar se a prova de trabalho foi executada com sucesso. A tarefa mais difícil deste processo é encontrá-lo.

 Isto porque cada bloco que forma a blockchain tem um identificador irrepetível. Este Block ID é um Hash SHA-256 que tem características únicas como resultado de um processo de mineração extremamente caro.

Em Bitcoin, quando os mineiros se preparam para começar a mineração, têm em conta um conjunto de parâmetros concedidos pela rede. Entre esses parâmetros está o Hash Target ou alvo. O Hash Target é um número de 256 bits de largura apresentado por cada nó Bitcoin. Este número dita o limite máximo de valor decimal de um Block ID num dado momento, isto é, o que um hash deve medir para que seja aceite pela rede.

Quanto menor for o Target Hash, mais complicado será encontrar o Bloco Hash válido. Para encontrar a combinação certa, os mineiros devem ter em conta dados como a versão, a Raiz Merkle, o hash de bloco anterior, a marca de tempo do bloco e a dificuldade da rede e o nonce gerado pelo mineiro. Com todos eles o mineiro vai começar o processo de geração do Block ID. Este é mais um dos processos em que o Nonce é crucial.

No caso de o mineiro gerar um valor decimal de hash diferente daquele marcado pelo Target terá de recomeçar o processo gerando um novo Nonce e recalculando os restantes dados. Isto significa calcular um novo hash até que a solução correta seja encontrada. No processo, pode calcular biliões de Nonces. Uma vez encontrado o certo, o mineiro poderá aceder à recompensa do bloco.

Embora o nonce tenha contribuído constantemente para todo este processo, o seu trabalho ainda não está terminado. Uma vez que o mineiro tenha resolvido o problema, esta solução vai para a rede com todos os seus dados, incluindo o Nonce. Quando os nós recebem toda a informação, são responsáveis por verificar se a solução dos mineiros é realmente válida para o problema colocado pela rede.

Neste caso, a realização da verificação levará apenas um segundo, uma vez que se trata de um procedimento muito simples. Isto deve-se ao Nonce gerado. Com este número é muito fácil verificar a validade do novo hash.

 

 

 

Qué es el número Nonce

Nonce na blockchain

O nonce também desempenha um papel importante em blockchains de criptomoedas derivados de Bitcoin, incluindo Dash ou Litecoin.

Isto porque estas criptomoedas têm na sua programação a utilização do Nonce. Note-se que qualquer sistema que utilize o mecanismo de consenso “Prova de trabalho” utilizará o Nonce no seu funcionamento.

No entanto, os blockchains que não aqueles que usam a prova de trabalho (PoW) também podem empregar nonce. Blockchains que incluem o protocolo Proof of Stake (PoS) também o usam. Podemos encontrar exemplos como Stellar, NEO ou Waves. Não há apenas blockchains PoS ou PoW.

Os blockchains que utilizam protocolos como testes de tempo decorridos (PoET) ou Prova de Autoridade (PoA) também são adicionados à sua utilização.

No entanto, o procedimento ainda é gerar um número aleatório que garante um alto nível de segurança criptográfica na blockchain.

O Nonce é um número chave tanto na tecnologia blockchain como na criptografia. Graças a este número aleatório, as ações que realizamos em blockchains são muito mais seguras.