#dusk $DUSK @Dusk Se alguém te disser que um pagamento no Dusk está “confirmado”, você realmente liberaria mercadorias, assinaria um contrato ou faria uma transferência (wire) com base nessa palavra?
Voltei pelas etapas de finalidade depois de perceber que eu tinha tratado “confirmed” e “done” como se fossem intercambiáveis, o que não é realmente preciso nessa cadeia.
Um bloco passa por quatro estados separados: Accepted, Confirmed, Stable e Final. Apenas o estado Final é determinístico e garantidamente irreversível do ponto de vista criptográfico. Stable é o estado imediatamente anterior, e é explicitamente probabilístico, não absoluto. Isso quer dizer que o bloco está enterrado o bastante para que uma reversão seja extremamente improvável, não que a reversão seja matematicamente impossível.
Essa distinção importa muito mais quando dinheiro real está envolvido. Se você estiver aceitando uma transação Stable, mas ainda não Final, como liquidação liberando um ativo, confirmando uma operação, tratando os fundos como compensados, você está aceitando uma probabilidade, não uma garantia — mesmo que essa diferença não fique óbvia só de ler um rótulo de status em uma carteira (wallet) ou em um explorador (explorer). O número de blocos necessários para chegar ao verdadeiro status Final também não é fixo; o Dusk migrou para um modelo de “finalidade em rolagem” (rolling finality), em que a contagem varia de rodada para rodada conforme as condições da rede. Isso significa que não existe uma regra única do tipo “espere X blocos e você está seguro” na qual você possa confiar cegamente.
@Dusk _Foundation Eu não encontrei um número claro e publicado para o pior caso de quanto tempo o intervalo entre Stable e Final pode se estender, de fato, sob condições reais de rede; apenas que ele é variável por design.
Se você está usando o Dusk para qualquer coisa que envolva liquidação real, você está realmente verificando o estado Final antes de tratar os fundos como seguros ou você para no Stable porque a palavra parece “concluída” o bastante?
Voltei pelas etapas de finalidade depois de perceber que eu tinha tratado “confirmed” e “done” como se fossem intercambiáveis, o que não é realmente preciso nessa cadeia.
Um bloco passa por quatro estados separados: Accepted, Confirmed, Stable e Final. Apenas o estado Final é determinístico e garantidamente irreversível do ponto de vista criptográfico. Stable é o estado imediatamente anterior, e é explicitamente probabilístico, não absoluto. Isso quer dizer que o bloco está enterrado o bastante para que uma reversão seja extremamente improvável, não que a reversão seja matematicamente impossível.
Essa distinção importa muito mais quando dinheiro real está envolvido. Se você estiver aceitando uma transação Stable, mas ainda não Final, como liquidação liberando um ativo, confirmando uma operação, tratando os fundos como compensados, você está aceitando uma probabilidade, não uma garantia — mesmo que essa diferença não fique óbvia só de ler um rótulo de status em uma carteira (wallet) ou em um explorador (explorer). O número de blocos necessários para chegar ao verdadeiro status Final também não é fixo; o Dusk migrou para um modelo de “finalidade em rolagem” (rolling finality), em que a contagem varia de rodada para rodada conforme as condições da rede. Isso significa que não existe uma regra única do tipo “espere X blocos e você está seguro” na qual você possa confiar cegamente.
@Dusk _Foundation Eu não encontrei um número claro e publicado para o pior caso de quanto tempo o intervalo entre Stable e Final pode se estender, de fato, sob condições reais de rede; apenas que ele é variável por design.
Se você está usando o Dusk para qualquer coisa que envolva liquidação real, você está realmente verificando o estado Final antes de tratar os fundos como seguros ou você para no Stable porque a palavra parece “concluída” o bastante?