os detalhes do Fênix são fáceis de passar despercebidos:
as notas gastas permanecem na árvore de Merkle.
eu tratei essa árvore como um conjunto UTXO privado. uma vez que uma nota é gasta, eu assumia que ela sumiria.
a whitepaper diz o contrário.
quando uma nota do Fênix é gasta, o seu proprietário deriva um nullifier a partir da chave secreta da nota. a rede registra esse nullifier para que a nota não possa ser gasta novamente.
mas ela não aprende a qual nota o nullifier pertence.
então a nota permanece. a árvore continua crescendo.
isso cria uma distinção que eu não tinha considerado:
gravado não é o mesmo que gastável.
um Merkle root recente permite que a rede verifique que uma nota de entrada pertence à árvore. apenas a participação não significa que o valor ainda está ativo.
a resposta fica na lista de nullifiers.
e o Fênix mantém a ligação pública entre os dois escondida.
no Moonlight, Dusk mapeia uma conta para um saldo público.
o Fênix funciona de forma diferente. a rede verifica uma prova ZK de que as notas de entrada foram corretamente nulificadas e têm valor suficiente para novas notas, depósito e gás máximo, sem expor os valores.
assim, uma nota do Fênix pode permanecer registrada mesmo depois de sua utilidade econômica ter acabado.
a gravação sobrevive.
o direito de gastar não.
então há outra separação.
uma chave de visualização pode ser dada a uma parte confiável para escanear a rede e identificar transações endereçadas ao usuário. mas ainda assim ela não pode gastar essas notas, porque a chave secreta da nota exige a chave secreta completa do usuário.
então “pode ver meu estado privado” e “pode controlar meu estado privado” são permissões diferentes.
dois limites aparecem:
gravação / gastabilidade
visível / controlável
a situação-limite para a qual eu continuo voltando é uma aplicação reconstruindo o que um usuário tem agora.
a presença da nota não é suficiente.
ser capaz de reconhecê-la também não é suficiente.
você precisa de histórico, estado de nulificação e o material secreto correto.
o que me leva a pensar:
num ledger privado, “estado atual” é um objeto em si, ou a interseção de registros intencionalmente incompletos quando lidos sozinhos?
@Dusk #dusk $DUSK $VELVET $APR
as notas gastas permanecem na árvore de Merkle.
eu tratei essa árvore como um conjunto UTXO privado. uma vez que uma nota é gasta, eu assumia que ela sumiria.
a whitepaper diz o contrário.
quando uma nota do Fênix é gasta, o seu proprietário deriva um nullifier a partir da chave secreta da nota. a rede registra esse nullifier para que a nota não possa ser gasta novamente.
mas ela não aprende a qual nota o nullifier pertence.
então a nota permanece. a árvore continua crescendo.
isso cria uma distinção que eu não tinha considerado:
gravado não é o mesmo que gastável.
um Merkle root recente permite que a rede verifique que uma nota de entrada pertence à árvore. apenas a participação não significa que o valor ainda está ativo.
a resposta fica na lista de nullifiers.
e o Fênix mantém a ligação pública entre os dois escondida.
no Moonlight, Dusk mapeia uma conta para um saldo público.
o Fênix funciona de forma diferente. a rede verifica uma prova ZK de que as notas de entrada foram corretamente nulificadas e têm valor suficiente para novas notas, depósito e gás máximo, sem expor os valores.
assim, uma nota do Fênix pode permanecer registrada mesmo depois de sua utilidade econômica ter acabado.
a gravação sobrevive.
o direito de gastar não.
então há outra separação.
uma chave de visualização pode ser dada a uma parte confiável para escanear a rede e identificar transações endereçadas ao usuário. mas ainda assim ela não pode gastar essas notas, porque a chave secreta da nota exige a chave secreta completa do usuário.
então “pode ver meu estado privado” e “pode controlar meu estado privado” são permissões diferentes.
dois limites aparecem:
gravação / gastabilidade
visível / controlável
a situação-limite para a qual eu continuo voltando é uma aplicação reconstruindo o que um usuário tem agora.
a presença da nota não é suficiente.
ser capaz de reconhecê-la também não é suficiente.
você precisa de histórico, estado de nulificação e o material secreto correto.
o que me leva a pensar:
num ledger privado, “estado atual” é um objeto em si, ou a interseção de registros intencionalmente incompletos quando lidos sozinhos?
@Dusk #dusk $DUSK $VELVET $APR
