Eu puxei o pacote de chaves real do modelo Phoenix do Dusk, em vez de só ler os explicadores, e um detalhe me travou: espera aí — o ViewKey não é uma versão menor da spend key. Ele é construído a partir de peças totalmente diferentes.
No código, uma SecretKey é composta por dois escalares. Uma ViewKey é um escalar e um ponto — um par deliberadamente incompleto. Não é uma flag de permissão acoplada à mesma chave secreta; falta nela o componente exato necessário para produzir uma assinatura de spend válida. $DUSK #dusk @Dusk
O que mudou para mim foi perceber que “acesso de visualização” aqui não é uma promessa imposta por política. Ele é imposto pelo que a chave matematicamente contém. Entregar a alguém uma ViewKey não pode vazar autoridade de spend, porque o escalar que falta nunca esteve nela para começar. Isso cria um limite de exposição mais estreito do que a maioria das afirmações “somente leitura” nesse espaço, que normalmente só querem dizer “por favor, não faça isso”.
Ainda fica aberto: isto confirma o próprio tipo de chave, não quem acaba com uma. A documentação descreve ViewKeys permitindo divulgação a auditores e reguladores — mas nada no nível do tipo diz se é a mesma chave que o dono de uma nota usa para escanear o próprio saldo, ou um caminho de delegação separado, construído especificamente para auditores de terceiros. Vale checar como essa transferência realmente funciona.
---