Um nonce ("número usado uma vez") é um número inteiro que representa o número de transações iniciadas por uma conta específica (Conta de Propriedade Externa ou"EOA") – Ele acompanha quantas transações você enviou dessa conta. Um nonce começa em 0 e aumenta gradualmente em 1 a cada transação enviada. O nonce não pula números e conta cronologicamente em ordem como 0, 1, 2, 3 e assim por diante.
Nonces são usados em protocolos como o Ethereum para acompanhar cada transação a partir de um determinado endereço, para garantir que tudo esteja funcionando sem problemas:
Atualmente, verificamos o número de transações pendentes esperando na pool de transações (chamada de mempool, abreviação de memory pool) e + 1 para esse número.
No passado, usamos o nonce das "transações confirmadas" + 1, enquanto agora usamos o nonce das "transações pendentes" + 1.
Por exemplo: Suponha que você tenha uma transação confirmada na blockchain com um nonce de 3 e outra transação pendente na mempool com um nonce de 4.
No passado, selecionaríamos o nonce 4 para sua nova transação, permitindo que você substituísse a transação na mempool. Isso significava que apenas uma transação com o nonce 4 teria sucesso.
Agora, escolhemos o nonce 5 para sua nova transação. Dessa forma, a nova transação permanecerá pendente na mempool por trás da transação com o nonce 4, esperando para ser enviada à blockchain até que a transação nonce 4 seja confirmada.
Observação: Se notarmos que você tem uma transação pendente há muito tempo, você receberá uma notificação pop-up perguntando se deseja substituí-la por uma nova.
Por que essa fórmula é vantajosa:
Os usuários não precisam se preocupar com o nonce – geramos automaticamente um nonce para suas transações com base no que está pendente na mempool. Depois de confirmar as transações, nosso sistema cuidará do resto.
Para saber mais sobre a Binance Wallet, veja o que é a Binance Wallet e como ela funciona?