Uma transação Dusk falhada ainda pode custar DUSK para você.

O revert não apaga a conta.

Eu achei que, se uma transação ficar sem gas e reverter, a execução falha basicamente não deixa nada para trás.

Dusk separa esses dois resultados.

Você define um `gas_limit` e um `gas_price`, mas a taxa real é baseada em `gas_used * gas_price`. Se a execução acabar o gas, a transação reverte enquanto o gas já consumido ainda é pago.

Vamos a um exemplo construído: uma chamada tem um limite de 50.000 de gas e um preço de gas de 2 LUX. Se ela consumir todo o gas de 50.000 antes de ficar sem gas, a transação falhada ainda custa 100.000 LUX, ou 0,0001 DUSK.

A mudança de estado desaparece.

A taxa não.

Essa foi a parte que eu não esperava.

Um mecanismo protege o ledger de confirmar uma execução que nunca terminou. O outro ainda cobra pela computação que a rede já realizou. Ambos atuam sobre a mesma transação falhada, mas não produzem o mesmo resultado.

Então “falhou” não significa “grátis”. Significa que a mudança de estado se foi, enquanto a conta pelos recursos ainda pode permanecer.

Quanto da segurança das transações da Dusk vem de reverter a execução incompleta, e quanto da disciplina de recursos vem de continuar cobrando pelo trabalho que já aconteceu?

@Dusk #dusk $DUSK