Eu estava lendo sobre Phoenix esta manhã e fiquei preso em algo que parecia quase simples demais
Se alguém gasta uma saída privada, por que não apenas marcar essa saída como gasta
Foi assim que eu inicialmente pensei que deveria funcionar
Você gasta uma saída
a rede a marca como gasta
tentar gastá-la novamente é rejeitado
Simples Mas então percebi que existe um problema em fazer isso quando a própria saída deve permanecer privada
Se a rede tiver que apontar publicamente para a saída privada exata que foi gasta, você está revelando informações sobre a transação
Então voltei à seção do Phoenix no whitepaper do Dusk para ver como ele lida com isso
Foi aí que entrou o nullifier
Em vez de simplesmente anunciar qual saída privada foi gasta, o Phoenix produz um valor criptográfico único chamado nullifier
A rede pode verificar se esse nullifier já apareceu
Se já apareceu, o gasto é rejeitado
Se não apareceu, a transação pode continuar sem revelar diretamente qual saída privada foi usada
Esse foi o ponto que eu inicialmente perdi
O sistema ainda precisa de uma forma de lembrar
Que esse valor já foi gasto
Mas ele não necessariamente precisa dizer
Esta saída privada exata foi a que foi gasta
E esse é um problema bem mais difícil
Porque agora você está tentando resolver duas coisas ao mesmo tempo
Evitar gasto duplo
Não expor a saída privada que está sendo gasta
É por isso que o nullifier faz sentido para mim agora
Não é apenas mais um objeto criptográfico dentro do Phoenix
É basicamente o elo entre lembrar que alguma coisa foi gasta e não revelar exatamente o que foi gasto
Quanto mais eu olhava para isso, mais eu percebia que privacidade não é simplesmente esconder uma transação
Às vezes é sobre esconder a conexão entre uma transação e a parte do estado privado por trás dela
#dusk $DUSK @Dusk $BTR $BMT