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"). Acompanha quantas transações enviaste dessa conta. Um nonce começa em 0 e aumenta progressivamente em 1 a cada transação enviada. O nonce não salta números e conta cronologicamente por ordem, como 0, 1, 2, 3 e assim por diante.
Os nonces são usados em protocolos como o Ethereum para acompanhar cada transação a partir de um endereço específico, para garantir que tudo está a funcionar sem problemas:
Atualmente, verificamos o número de transações pendentes em espera no pool de transações (chamado de mempool, abreviado de pool de memória), e adicionamos 1 a esse número.
No passado, usávamos nonce de ‘transações confirmadas’ + 1, enquanto agora usamos o nonce de ‘transações pendentes’ + 1.
Por exemplo: supõe que tens uma transação confirmada na blockchain com um nonce de 3 e outra transação pendente no mempool com um nonce de 4.
No passado, selecionávamos o nonce de 4 para a tua nova transação, permitindo-te substituir a transação no mempool. Isso significava que apenas uma transação com o nonce de 4 seria bem-sucedida.
Agora, escolhemos o nonce de 5 para a tua nova transação. Desta forma, a nova transação permanece pendente no mempool atrás da transação com o nonce de 4, aguardando para ser enviada para a blockchain até a transação do nonce de 4 ser confirmada.
Observação: se verificarmos que tens uma transação pendente há muito tempo, receberás uma notificação pop-up a perguntar se a queres substituir por uma nova.
Porque é que esta fórmula é vantajosa:
Os utilizadores não têm de se preocupar com o nonce – geramos automaticamente um nonce para as tuas transações com base no que está pendente no mempool. Depois de confirmares as transações, o nosso sistema tratará do resto.
Para saberes mais sobre a Carteira da Binance, consulta O que é a Carteira Binance e como funciona?