
Nonce é um número ou contador utilizado uma única vez para garantir que determinada ação ocorre apenas uma vez e na ordem correta. Funciona como um número de atendimento ou código de verificação de uso único, tornando-se inválido após ser utilizado ou expirar.
Na blockchain, o nonce apresenta-se habitualmente de três formas: numeração sequencial ao nível da conta (que controla a ordem das transações de um endereço), valor dinâmico nas tentativas de mineração (para encontrar um hash de bloco que cumpra a dificuldade da rede) e código de desafio em assinaturas de login (que impede a repetição de mensagens antigas). Em todos estes casos, os principais objetivos são a unicidade e a proteção contra repetição.
Sem nonce, transações antigas ou assinaturas poderiam ser reaproveitadas, originando ataques de repetição. O ataque de repetição ocorre quando um atacante copia e reenvia uma mensagem anteriormente válida, levando o sistema a repetir operações indevidas.
O nonce também garante a ordem das transações para cada endereço. Sem este controlo, transferências posteriores poderiam ser executadas antes das anteriores, comprometendo a lógica dos smart contracts e podendo bloquear fundos ou causar falhas estratégicas. Por isso, as principais blockchains aplicam nonce ao nível do protocolo para assegurar consistência e segurança. Em 2025, este mecanismo é basilar nos ecossistemas EVM, nos padrões de login blockchain e nas redes PoW.
No Ethereum e redes compatíveis, cada endereço tem uma contagem de transações a partir de 0—esse é o nonce da conta. A transação seguinte deve usar o valor atual; após inclusão num bloco, o nonce da conta aumenta uma unidade.
Se definir um nonce inferior ao valor atual, os nós devolvem o erro “nonce demasiado baixo”, pois esse número já foi utilizado. Se for demasiado alto, a rede aguarda pelas transações intermédias em falta, bloqueando o processo. Normalmente, as carteiras gerem este valor de forma automática para evitar erros manuais.
Exemplo prático: Se o nonce atual for 10, utilize 10 na próxima transação. Se a transação nº 10 estiver bloqueada e não for minerada, pode reenviar uma transação semelhante com o mesmo nonce e taxas superiores para substituir a não confirmada e acelerar o processamento por mineradores ou validadores.
No Proof of Work do Bitcoin, os mineradores ajustam continuamente o campo nonce no cabeçalho do bloco para encontrar um hash que cumpra os requisitos de dificuldade da rede. Proof of Work assemelha-se a “adivinhar a password de uma fechadura”—o primeiro minerador a encontrar uma solução válida propõe o bloco e recebe a recompensa.
O nonce do cabeçalho do bloco Bitcoin tem 32 bits. Após esgotar todos os valores possíveis, os mineradores alteram outros campos ajustáveis, como o timestamp ou a ordem das transações (afetando a raiz de Merkle), para expandir o espaço de procura de hashes. Este processo consiste em “tentar diferentes números até encontrar um que funcione”.
Durante o login da carteira ou processos de assinatura web, o servidor gera um nonce aleatório e insere-o na mensagem a assinar. Após a assinatura, esse nonce é marcado como usado; cada login subsequente exige um novo nonce, pelo que mesmo que uma mensagem antiga seja copiada, não pode ser validada novamente.
Por exemplo, os padrões de login Ethereum incluem frequentemente campos como “nonce”, “domínio” e “tempo de expiração” nas mensagens, criando desafios de uso único. Muitas autorizações DeFi e assinaturas de ordens também usam nonce para marcar instruções de uso único ou versões, permitindo revogar comandos antigos ou evitar duplicações.
Regra geral, não é necessário definir manualmente o nonce—a carteira gere-o automaticamente. Contudo, saber como consultar o valor pode ser útil em contextos avançados.
Passo 1: Introduza o seu endereço num explorador de blockchain para visualizar o índice da última transação confirmada e verificar transações pendentes. A maioria dos exploradores apresenta o nonce de cada transação, facilitando deduzir o próximo valor a utilizar.
Passo 2: Nas definições avançadas da carteira, verifique o nonce atual da conta. Algumas carteiras permitem “nonce personalizado” temporariamente; utilize esta opção com cautela para evitar conflitos com transações pendentes. Na carteira Web3 da Gate ou serviços relacionados, o nonce é gerido automaticamente e pode ser consultado nas definições ou nos detalhes da transação.
Passo 3: Se precisar de definir manualmente o nonce (por exemplo, para substituir uma transação bloqueada), confirme sempre o estado da fila de transações para não omitir intermédias necessárias. Configurações incorretas podem bloquear transações futuras por períodos prolongados.
Os erros mais comuns incluem “nonce demasiado baixo”, “nonce demasiado alto” e “transações bloqueadas”. Eis como agir:
Passo 1: Para “nonce demasiado baixo”, esse número já foi utilizado ou existe uma transação não confirmada com o mesmo nonce. Verifique a lista de pendentes da carteira e o explorador para transações bloqueadas; evite enviar conteúdos diferentes com um nonce já usado.
Passo 2: Para “nonce demasiado alto”, existem números intermédios em falta. Pode aguardar que as transações anteriores sejam mineradas ou enviar transações vazias como marcadores (técnica avançada—considere taxas e riscos).
Passo 3: Se uma transação estiver bloqueada, reenvie uma transação idêntica à função com o mesmo nonce e taxa superior para substituir a anterior e acelerar a inclusão. Após confirmação, o nonce da conta avança.
Aviso de risco: Configurações incorretas de nonce podem bloquear todas as transações futuras ou prejudicar a gestão de ativos. Reveja sempre as filas de transações e as taxas antes de qualquer intervenção manual para evitar riscos financeiros.
As transações de um mesmo endereço devem ser executadas pela ordem do nonce, mas a prioridade de inclusão depende da taxa que está disposto a pagar. Taxas mais elevadas aumentam a probabilidade de processamento rápido; enviar uma nova transação com o mesmo nonce pode substituir a anterior (“acelerar”).
Na prática, coexistem duas dimensões: a ordem intra-conta é condicionada pelo nonce, enquanto a concorrência entre contas é determinada pelas taxas de transação. Se definir uma taxa demasiado baixa, transações com determinados nonces podem permanecer pendentes por longos períodos, bloqueando toda a atividade subsequente.
Nonce é fundamental para o sequenciamento de transações, operações de mineração e segurança de assinaturas—garante unicidade e ordenação correta. A incrementação dos nonces previne repetição e execução fora de ordem nas contas; nonces variáveis na mineração de Bitcoin permitem procurar hashes que satisfaçam a dificuldade; nonces aleatórios em assinaturas de login defendem contra repetição de mensagens. Na prática, permita que as carteiras gerem os nonces automaticamente sempre que possível; se for necessária intervenção manual, confirme sempre filas e taxas, especialmente ao usar a carteira Web3 da Gate ou ferramentas compatíveis, para minimizar transações bloqueadas e risco de ativos.
O reset do nonce invalida transações previamente enviadas mas não confirmadas. Recomenda-se aguardar que todas as transações pendentes sejam confirmadas ou rejeitadas pelos mineradores antes de efetuar o reset. Se uma transação estiver bloqueada, pode substituí-la aumentando as taxas de gás e reenviando com o mesmo nonce—isto sobrescreve a transação original.
Desajustes de nonce resultam geralmente de múltiplas transações confirmadas com contador local desatualizado ou envio fora de ordem. Para corrigir, verifique o número de transações confirmadas na Gate ou num explorador de blockchain; o nonce da próxima transação deve corresponder a esse número. Se a carteira apresentar erros localmente, tente limpar a cache ou reimportar a conta.
Transações simultâneas exigem nonces consecutivos. Por exemplo, se o nonce atual for 5: utilize 5 para a primeira transação, 6 para a segunda, 7 para a terceira, etc. Todas serão executadas pela ordem do nonce, mesmo que enviadas em simultâneo. Os mineradores normalmente ordenam por nonce, pelo que não precisa de se preocupar com execução fora de sequência.
Em assinaturas offline, deve especificar o nonce manualmente—não pode ser obtido automaticamente. Passos: primeiro verifique o nonce atual da conta num dispositivo online → insira esse valor no software da cold wallet → transmita a transação assinada a partir de um dispositivo online. Se usar um nonce incorreto, a rede rejeita a operação; confirme sempre a exatidão antes de operações offline.
Sim—cada blockchain mantém o seu próprio contador de nonce. Enviar 10 transações (nonces 0–9) na Ethereum mainnet não afeta o contador em Polygon, que começa novamente em 0. Cada rede gere o seu próprio estado de conta. Ao utilizar a Gate para operações cross-chain, lembre-se que ao mudar de rede o cálculo do nonce é reiniciado—evite confusões verificando após cada alteração.


