David Chaum é um criptógrafo que propôs formas de verificar mensagens, pagamentos ou direitos sem criar automaticamente um registro que conecte toda a vida de uma pessoa. Sua contribuição parte de um desejo cotidiano: pagar uma compra sem revelar todas as outras.
Imagine uma jornalista recebendo informações sensíveis. A criptografia esconde o conteúdo, mas um observador ainda pode perceber quem conversa com quem. A proposta de Chaum de 1981 trata dessa diferença. As mensagens passam por um computador chamado mix, que retira uma camada externa de criptografia e as envia em outra ordem. Os destinatários então decifram a parte interna. O objetivo não é apenas esconder as palavras, mas dificultar a ligação entre um remetente específico e um destinatário específico. [1]
Se uma única mensagem chega a um intermediário e sai imediatamente, é fácil deduzir seu caminho. Por isso, o projeto de 1981 processa lotes de itens do mesmo tamanho. O mix também precisa rejeitar repetições: caso contrário, um invasor poderia enviar o mesmo item várias vezes e procurar um padrão correspondente na saída. Alterar a ordem e a aparência faz parte de um procedimento específico. Acrescentar outro computador ao trajeto, por si só, não oferece a mesma proteção. [1]
Em 1981, Chaum também descreveu uma cadeia de mix. A mensagem tem várias camadas de criptografia, retiradas sucessivamente pelos nós. No modelo proposto, um único mix não comprometido pode esconder a correspondência entre as entradas e as saídas da cadeia inteira. Essa conclusão depende de condições sobre a criptografia e a execução correta do protocolo. Não é uma garantia de anonimato em qualquer rede real. O telefone comprometido da nossa jornalista, por exemplo, continuaria sendo um problema mesmo com a transmissão funcionando corretamente. [1]
Nos pagamentos surge uma questão semelhante: é possível verificar o dinheiro sem ligar cada compra a um saque? Em seu artigo de 1985, Chaum explica as Blind Signatures, assinaturas feitas sobre uma forma ocultada da mensagem. O usuário prepara uma cédula digital, aplica um fator matemático que a oculta e o banco assina essa forma e debita o valor correspondente da conta. Depois, o usuário remove esse fator; a assinatura da cédula original continua válida. A cédula pode ser verificada, mas a assinatura sozinha não revela ao banco qual saque originou a cédula apresentada mais tarde. [2]
Um arquivo digital pode ser copiado. Se Pedro pagar uma loja com uma cédula e depois oferecê-la novamente, a assinatura parecerá válida nas duas cópias. Na variante online descrita em 1985, o banco mantém uma lista dos números de cédulas já aceitas e rejeita sua reutilização. O recebedor precisa dessa consulta além da verificação da assinatura. A assinatura responde quem emitiu a cédula; a outra checagem determina se ela já foi resgatada. São questões diferentes. [2]
Esse modelo mantém um emissor. O banco assina as cédulas e deve resgatá-las; a proteção contra rastreamento não garante que ele cumprirá sua obrigação. Bitcoin trata de outra parte do problema: uma rede verifica o histórico das transferências de BTC segundo regras comuns e Proof of Work, uma prova de trabalho computacional, sem um emissor central de cédulas. Um token assinado às cegas não é automaticamente BTC. A privacidade do pagamento e a dependência de quem deve cumprir uma promessa precisam ser avaliadas separadamente. [3] [2]
O texto de Chaum de 1985 vai além dos pagamentos. Ele também considera como comprovar um direito ou uma característica sob pseudônimos diferentes, sem permitir que organizações liguem facilmente todos os registros de uma pessoa. Pense em um desconto para associados: a loja precisa verificar o direito ao benefício, não necessariamente conhecer todas as visitas anteriores. Esse comprovante é chamado de credential. O projeto não elimina verificações nem regras do serviço. Ele separa a prova necessária de informações que a transação não exige. [2]
O funcionamento do sistema pode enfraquecer um procedimento matemático sólido. Em 1985, Chaum observou que mudanças imediatas e opostas nos saldos poderiam ligar contas mesmo quando a assinatura não revelasse essa relação. No nosso exemplo, Pedro também poderia informar seu nome para receber a entrega. Horários, contas e dados fornecidos ao comerciante entram, portanto, na mesma análise das assinaturas. A contribuição de Chaum inclui esta pergunta: quais informações o serviço realmente precisa e quais coleta apenas porque foi projetado assim? [2]
Para ter uma visão mais completa, leia este verbete junto com Nick Szabo, Ralph Merkle, Blind Signature, Chaumian eCash. Também há referências a este verbete em DigiCash, Chaumian eCash, The Crypto Anarchist Manifesto, Blind Signature.