Crepúsculo: O que a Phoenix realmente esconde

Eu costumava pensar que privacidade em uma blockchain significava ocultar um endereço e esperar que o restante do sistema ainda fizesse sentido. Essa suposição me incomodava porque privacidade financeira é inútil se ninguém consegue, de forma independente, estabelecer que a transação em si foi válida.

Foi isso que fez o modelo Phoenix da Dusk valer a pena ser observado com mais cuidado. Ele usa transferências protegidas baseadas em notas, em que provas de zero conhecimento estabelecem a correção da transação sem expor as mesmas informações que um modelo de conta pública revelaria. A documentação atual da Dusk afirma que a Phoenix esconde o valor transferido, as informações do remetente para terceiros e as notas específicas envolvidas, enquanto as chaves de visualização podem fornecer divulgação seletiva quando a evidência for necessária.

A tensão interessante é que privacidade não elimina a necessidade de verificação. Ela muda como a verificação acontece. Os validadores ainda precisam estabelecer que a transação é legítima, que há fundos suficientes e que o mesmo valor não foi gasto duas vezes, mas não devem precisar dos detalhes privados subjacentes da transação.

O design Phoenix do whitepaper usa compromissos (commitments), nulificadores (nullifiers) e provas de zero conhecimento para separar essas duas exigências. Isso parece elegante, mas elegância no papel não é a mesma coisa que provar que o sistema continua prático sob uso contínuo. A documentação atual da Dusk também deixa claro que gerar essas provas é computacionalmente exigente o bastante para justificar uma infraestrutura dedicada de Prover.

O que a Dusk precisa demonstrar é que a garantia de privacidade e o custo operacional permanecem compatíveis à medida que o uso cresce.

Correr atrás de pontos sem entender o que a Dusk realmente está resolvendo é uma forma rápida de mal-entender o projeto.

Se os detalhes da transação permanecem privados, qual nível de divulgação seletiva é suficiente?

A privacidade importa mais quando a validade pode ser verificada de forma independente.

@Dusk_Foundation $DUSK #dusk