“Pendente” é um fato real em toda a rede?

Uma carteira pode rotular uma transação do Dusk como “pendente”, enquanto outro nó não tem nenhuma entrada correspondente na mempool.

Isso não necessariamente é uma inconsistência. O motivo está em como o Dusk lida com transações antes que elas se tornem estado do livro-razão.

Cada par realiza suas próprias verificações de admissão e mantém sua própria mempool. A consulta do Dusk para mempoolTxs, portanto, mostra a mempool real do nó que está sendo consultado — e não uma fila compartilhada pela rede inteira por todos os pares.

O tratamento da era Boreas, com Moonlight, torna isso ainda menos intuitivo. Uma transação válida cujo nonce está à frente da sequência atual da conta pode ser adiada enquanto os nonces ausentes chegam. Nesse período, ela fica fora da mempool real visível do nó. Assim, mesmo o nó que recebeu a transação pode não mostrá-la ainda em mempoolTxs.

A expiração adiciona outra dimensão local: ela é uma política do nó, e não uma duração codificada na própria transação.

Isso muda a forma como eu leria a palavra “pendente”. Antes do consenso, o Dusk não fornece um único estado global e autorizativo de transações para que todos observem. Diferentes nós podem, legitimamente, manter informações diferentes sobre a mesma transação.

Portanto, o status de uma carteira é um relatório a partir de um ponto de observação, e não uma afirmação de que a rede já concordou com um fato intermediário compartilhado.

O consenso é onde essas visões locais fragmentadas começam a se transformar em um histórico comum no livro-razão.

@Dusk $DUSK #dusk