O que uma prova de conhecimento zero faz
Normalmente, provar algo significa mostrar as evidências: inserir uma senha ou entregar uma carteira de identidade. Isso pode revelar mais do que a outra pessoa precisa saber.
Uma prova de conhecimento zero é um método criptográfico que muda isso. Uma pessoa, o provador, demonstra uma afirmação precisa a outra, o verificador, sem revelar o segredo usado para tornar essa afirmação verdadeira. O verificador aprende a resposta de que precisa — por exemplo, que você atende a um requisito de idade — mas não sua data de nascimento, endereço ou número de documento.
Não é uma promessa vaga de privacidade. Uma prova deve ser projetada para uma afirmação exata, e bons projetos tornam a trapaça extremamente improvável.
O exemplo da caverna
Imagine uma caverna com dois caminhos que se encontram atrás de uma porta trancada. A porta só abre com uma palavra secreta. Você diz que a conhece, mas não quer dizê-la em voz alta.
Você entra por qualquer um dos caminhos enquanto seu amigo espera do lado de fora. Seu amigo então indica o caminho pelo qual quer que você retorne. Se você conhece a palavra, pode abrir a porta dentro da caverna e voltar por qualquer caminho. Se estiver só chutando, tem apenas cinquenta por cento de chance de estar do lado pedido.
Repita o teste muitas vezes com uma escolha nova e imprevisível a cada rodada. Dez rodadas bem-sucedidas deixam um blefador com cerca de uma chance em 1.000 de ter sorte. Seu amigo obtém fortes evidências de que você conhece a palavra, mas nunca chega a ouvi-la.
Da história da caverna ao software real
As provas reais usam matemática em vez de uma caverna, mas o objetivo de privacidade é o mesmo. Elas podem mostrar que uma transação segue as regras sem expor todos os seus detalhes. Elas também podem permitir que uma pequena prova substitua um grande lote de verificações, o que pode tornar a verificação de alguns sistemas mais rápida.
As credenciais digitais são outro uso prático. Em vez de enviar o documento de identidade inteiro para cada serviço, uma credencial bem projetada poderia responder só à pergunta feita: “Esta pessoa tem mais de 18 anos?” ou “Ela possui esta qualificação?”
Os detalhes importam. Uma prova protege só a informação que foi criada para esconder. O restante do aplicativo ainda pode coletar dados, identificar você ou cometer um erro de segurança em outro lugar.
Prova de conhecimento zero versus criptografia de conhecimento zero
A frase “conhecimento zero” também é usada no armazenamento em nuvem. Essa é uma ideia diferente. Criptografia de conhecimento zero significa que o provedor de armazenamento não consegue ler seus arquivos porque não possui as chaves de descriptografia.
Uma prova de conhecimento zero responde a uma pergunta sem expor o segredo por trás da resposta. A criptografia de conhecimento zero mantém os arquivos armazenados ilegíveis para um provedor. Ambos podem melhorar a privacidade, mas não são intercambiáveis.
Uma lição prática de privacidade
As provas de conhecimento zero são um lembrete útil para compartilhar o mínimo de informação necessária para uma tarefa. Elas não tornam você anônimo nem protegem todas as partes de um aplicativo. Um serviço ainda pode saber que você se conectou, quando isso aconteceu e outros dados fora da prova.
Sealby não precisa de provas de conhecimento zero porque não tem conta nem servidor pedindo que você prove alguma coisa. Os arquivos são criptografados no seu iPhone. Para a privacidade do dia a dia, a pergunta prática é simples: o que esse serviço realmente precisa saber — e ele consegue funcionar com menos?