Criptomoedas e Web3 · Explicador
Provas de conhecimento zero: provar sem revelar dados
Uma prova de conhecimento zero convence alguém de que uma afirmação é verdadeira sem mostrar a informação que a sustenta. Veja como isso é possível, para que serve e onde estão os limites.
- Autoria:
- Redação Token & Tech
- Editor responsável:
- Daniel Ferreira
Publicado em · 7 min de leitura
Também disponível em: English
Em três pontos
- Uma prova de conhecimento zero precisa ser completa, correta e não vazar nada além do fato de que a afirmação é verdadeira.
- A ideia nasceu na pesquisa acadêmica em 1985 e hoje aparece em identidade digital, votação, pagamentos privados e rollups.
- Gerar provas custa caro, algumas exigem uma configuração inicial confiável e a privacidade depende de todo o sistema, não só da matemática.
Para entrar num evento proibido para menores, você mostra o documento inteiro: nome, data de nascimento, número, foto, endereço às vezes. O porteiro só precisava saber de uma coisa: se você tem 18 anos ou mais.
Uma prova de conhecimento zero (em inglês, zero-knowledge proof, ou ZKP) é uma técnica de criptografia que resolve exatamente esse descompasso. Ela permite convencer alguém de que uma afirmação é verdadeira sem revelar os dados que a sustentam. Este texto explica a ideia, mostra exemplos e aponta onde ela é usada e onde falha.
O que é uma prova de conhecimento zero
Há sempre dois papéis. O provador quer convencer. O verificador quer ter certeza antes de aceitar.
O NIST, instituto de padrões dos Estados Unidos, resume a ferramenta assim: provar que se conhece a solução secreta de um problema sem revelar a solução (NIST, Privacy-Enhancing Cryptography). O “segredo” tem nome técnico: testemunha (witness). A afirmação pública é a instância.
O exemplo do próprio NIST é bom para fixar. A instância é um número N, e a afirmação é “N é uma chave de assinatura RSA válida”. A testemunha são os dois números primos secretos P e Q que, multiplicados, dão N. Uma prova de conhecimento zero convence o verificador de que esses primos existem e cumprem as regras, sem entregar P nem Q (NIST, provas de conhecimento zero).
De onde veio a ideia
A definição usada até hoje vem de um trabalho de 1985 de Shafi Goldwasser, Silvio Micali e Charles Rackoff, “The Knowledge Complexity of Interactive Proof Systems”, publicado em versão definitiva em 1989 (ethereum.org; Goldwasser, Micali e Rackoff).
O ponto de partida dos autores é simples. Uma prova comum costuma carregar mais conhecimento do que o necessário. Para provar que um caminho passa por todas as cidades de um mapa, por exemplo, basta mostrar o caminho, mas aí você entregou o caminho, não só a informação de que ele existe. O artigo propõe medir quanto conhecimento uma prova transmite e define as provas de conhecimento zero como aquelas que não transmitem nada além da validade da afirmação.
As três propriedades obrigatórias
Segundo a documentação do Ethereum, um protocolo só merece esse nome se tiver três propriedades (ethereum.org):
- Completude. Se a afirmação é verdadeira e os dois lados seguem o protocolo, o verificador aceita.
- Correção (soundness). Se a afirmação é falsa, um provador desonesto não consegue convencer um verificador honesto, salvo com probabilidade desprezível.
- Conhecimento zero. O verificador não aprende nada além de “a afirmação é verdadeira”.
Repare na expressão “probabilidade desprezível”. A prova não é uma certeza absoluta como a de um teorema no papel. É uma certeza estatística tão alta que, na prática, trapacear não compensa.
Um exemplo para entender: a caverna
A explicação mais conhecida é a da caverna de Ali Babá, usada pela própria ethereum.org. Imagine uma caverna circular com uma única entrada que se divide em dois corredores, A e B. No fundo, os corredores se encontram numa porta trancada por uma palavra secreta.
Peggy (a provadora) diz que sabe a palavra. Victor (o verificador) quer ter certeza, mas Peggy não quer contar a palavra.
- Victor espera do lado de fora. Peggy entra e escolhe um corredor, sem que ele veja qual.
- Victor chega à entrada e grita: “saia pelo corredor A” (ou B, ao acaso).
- Se Peggy conhece a palavra, ela sempre consegue sair pelo lado pedido, abrindo a porta se for preciso.
Quem não sabe a palavra acerta só quando, por sorte, já estava no corredor certo: metade das vezes. Repetindo o desafio 20 vezes, a chance de uma impostora acertar todas cai para menos de uma em um milhão. Victor fica convencido. E não aprendeu nada sobre a palavra.
Esse é o modelo interativo: vai e volta de perguntas e respostas. Ele tem um problema prático. Só convence quem participou. Para quem assistiu de fora, Peggy e Victor poderiam ter combinado tudo.
Provas não interativas: uma mensagem só
O passo seguinte foram as provas não interativas, propostas por Manuel Blum, Paul Feldman e Silvio Micali. O provador envia uma única mensagem, e qualquer pessoa com os parâmetros públicos do sistema consegue conferi-la (ethereum.org).
É isso que torna a técnica útil em blockchains. A prova pode ser publicada e verificada por um contrato inteligente, por milhares de computadores, a qualquer momento, sem conversa com quem a gerou.
Duas famílias dominam o uso atual:
- SNARKs (succinct non-interactive arguments of knowledge). Geram provas pequenas e rápidas de verificar, mas dependem de uma configuração inicial confiável (trusted setup): um ritual em que participantes criam parâmetros e precisam descartar a aleatoriedade usada. Se alguém guardar esse material, pode forjar provas. A criptografia de curvas elípticas por trás deles também pode ser ameaçada por futuros computadores quânticos.
- STARKs (scalable transparent arguments of knowledge). Dispensam a configuração confiável e se apoiam em funções de hash, consideradas resistentes à computação quântica. Em troca, as provas são maiores e custam mais para verificar.
As duas descrições seguem a documentação do Ethereum (ethereum.org).
Onde as provas de conhecimento zero são usadas
A lista abaixo segue os casos citados pela ethereum.org. Os exemplos servem para mostrar a técnica e não são recomendação de nenhum serviço.
- Escalabilidade. Os rollups de conhecimento zero executam transações fora da rede principal e enviam ao Ethereum uma prova de que o novo estado está correto. A rede confere a prova em vez de refazer todas as contas (ethereum.org, ZK-rollups). O funcionamento está detalhado em Rollups: como ampliam a capacidade das redes e o contexto, em Layer 1 e layer 2.
- Identidade. Provar um atributo, como cidadania ou maioridade, sem expor o documento. A ethereum.org cita a identidade digital nacional do Butão como exemplo.
- Prova de humanidade. Mostrar que você é uma pessoa única num sistema, sem dizer quem é.
- Autenticação. Provar que pertence a um grupo ou tem um direito de acesso sem enviar senha ou dados pessoais.
- Votação. Apurar votos sem revelar o voto de cada pessoa, o que dificulta compra de votos. A ethereum.org observa que o desenho citado ainda exige confiar no coordenador da apuração.
- Pagamentos privados. Redes e ferramentas que escondem remetente, destinatário ou valor das transações.
O NIST acrescenta um uso menos visível: as provas servem para garantir que os participantes de outros protocolos criptográficos estão seguindo as regras, como na computação multipartidária (NIST, provas de conhecimento zero).
Limites e riscos
Provas de conhecimento zero não são mágica. A documentação do Ethereum lista os principais custos e riscos (ethereum.org):
- Custo de geração. Criar provas exige muito processamento, às vezes máquinas especializadas e caras. Isso pode concentrar a produção de provas em poucos operadores.
- Custo de verificação. Verificar uma prova SNARK no Ethereum custa cerca de 500 mil unidades de gás, a taxa de processamento da rede, e as STARKs custam mais.
- Confiança na configuração inicial. Nos SNARKs, você precisa confiar que quem participou do ritual destruiu sua parte secreta.
- Ameaça quântica. SNARKs baseados em curvas elípticas podem ficar vulneráveis no futuro.
Há também limites que a matemática não resolve. Na avaliação da redação, três merecem atenção:
- A prova só garante o que foi programado. Se o circuito que descreve a regra tiver um erro, a prova confirmará uma regra errada com a mesma convicção. Por isso esses sistemas passam por auditoria, com as limitações explicadas em Auditoria de smart contracts.
- Dado de entrada ruim continua ruim. Uma prova de maioridade é tão confiável quanto o documento que a originou e quem o emitiu.
- Privacidade é do sistema inteiro. Metadados, como horário, endereço de rede ou padrão de uso, podem identificar alguém mesmo quando a prova não revela nada.
Por que isso importa fora do mundo cripto
O NIST trata as provas de conhecimento zero como uma das ferramentas da criptografia para aumento de privacidade, ao lado de técnicas como a computação multipartidária e a criptografia totalmente homomórfica. O instituto acompanha a área para produzir material de referência que possa, no futuro, embasar padrões. Entre 2019 e 2024, colaborou com a ZKProof, iniciativa aberta de academia e indústria que reúne material técnico sobre o tema (NIST, PEC; NIST, provas de conhecimento zero).
O interesse prático é o mesmo do exemplo da portaria: entregar só a resposta necessária. Para quem coleta dados, guardar menos significa ter menos a perder num vazamento.
O que levar deste texto
- Uma prova de conhecimento zero convence de que algo é verdadeiro sem revelar o porquê. Ela precisa ser completa, correta e não vazar informação.
- A versão não interativa é a que viabiliza o uso em blockchains: uma única prova, conferida por qualquer um.
- Os usos vão de rollups a identidade e votação, mas a técnica tem custos altos, pode depender de configuração confiável e não protege contra regras mal escritas, dados de origem ruins ou vazamento por metadados.
Fontes
- The Knowledge Complexity of Interactive Proof Systems, SIAM Journal on Computing, v. 18, n. 1, fevereiro de 1989 (Shafi Goldwasser, Silvio Micali e Charles Rackoff); cópia hospedada no MIT. Acesso em 8 de outubro de 2026
- Zero-knowledge proofs, ethereum.org. Publicado em 6 de outubro de 2026 · Acesso em 8 de outubro de 2026
- Privacy-Enhancing Cryptography (PEC), National Institute of Standards and Technology (NIST). Acesso em 8 de outubro de 2026
- Privacy-Enhancing Cryptography: Zero-Knowledge Proofs, National Institute of Standards and Technology (NIST). Acesso em 8 de outubro de 2026
- Zero-knowledge rollups, ethereum.org. Acesso em 8 de outubro de 2026