Seis coisas que uma sessão da Citadel nunca coloca na blockchain: sua chave de carteira, a licença que você usou, as chaves do emissor e do serviço, os atributos assinados e o caminho da prova de Merkle. O que vai para a blockchain é uma única sessão. Pública, verificável, sem graça.

@Dusk arquiva isso sob “divulgação seletiva”, e isso não é uma opção de privacidade. Um provedor de licenças te valida fora da cadeia, assina seus atributos, publica uma licença criptografada e a registra em um contrato da Citadel. Depois, você prova em zero conhecimento que possui uma licença registrada. Não qual licença. Apenas que ela existe. O contrato verifica, registra uma sessão e você entrega um cookie de sessão ao serviço.

Então os documentos traçam uma linha, de forma clara. A Citadel prova que a sessão é criptograficamente válida. Ela não decide a política do serviço. O serviço ainda escolhe quais emissores ele confia, quais atributos ele aceita, se a sessão foi revogada e se aquele cookie funciona duas vezes.

Meu trabalho do dia é testar um app de negociação de títulos, e essa divisão lê como algo copiado da minha mesa. Ninguém lá vê o quadro completo, de propósito. O usuário vê o próprio pedido. O back office vê o lote. O depositário vê uma instrução de liquidação. O supervisor puxa um relatório sob demanda. Quatro visões de uma única operação, resolvidas bem antes de alguém escrever um circuito de prova.

Minha opinião: a parte valiosa da Citadel não é a criptografia, é a recusa. Uma cadeia que decide a elegibilidade para você é uma que nenhum ambiente poderia adotar. Elegibilidade é jurisdição, termos do produto e apetite de risco do emissor. Nada disso deveria precisar de um hard fork.

Um app na Dusk fica em conformidade? Não. Alguém ainda tem que ser o Provedor de Licenças, executar as checagens fora da cadeia e responder quando uma checagem estiver errada. Ferramentas hoje: uma biblioteca Rust, o contrato de licenças, um CLI de carteira e um SDK de JavaScript ainda listado como “a caminho”. $DUSK paga o gas e segura a rede fazendo staking.

Então, quem deve assumir o papel de Provedor de Licenças para um ativo regulado: o ambiente, o emissor ou um terceiro cuja única função é fazer a checagem? Eu continuo chegando ao terceiro, sem um motivo claro.

#dusk