“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
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
