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.

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.

  1. Victor espera do lado de fora. Peggy entra e escolhe um corredor, sem que ele veja qual.
  2. Victor chega à entrada e grita: “saia pelo corredor A” (ou B, ao acaso).
  3. 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

  1. 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
  2. Zero-knowledge proofs, ethereum.org. Publicado em 6 de outubro de 2026 · Acesso em 8 de outubro de 2026
  3. Privacy-Enhancing Cryptography (PEC), National Institute of Standards and Technology (NIST). Acesso em 8 de outubro de 2026
  4. Privacy-Enhancing Cryptography: Zero-Knowledge Proofs, National Institute of Standards and Technology (NIST). Acesso em 8 de outubro de 2026
  5. Zero-knowledge rollups, ethereum.org. Acesso em 8 de outubro de 2026

Leia também

Criptomoedas e Web3 · Explicador

Rastreamento de transações e análise on-chain

Como toda transação de uma blockchain pública fica registrada, é possível seguir o caminho do dinheiro. Entenda como esse rastreamento funciona, por que ele depende de suposições e quem pode usá-lo.

Criptomoedas e Web3 · Explicador

Auditoria de smart contracts: método e limites

Auditoria reduz o risco de um contrato inteligente, mas não o elimina. Entenda o que os auditores examinam, com quais ferramentas, e o que fica fora do alcance deles.

Criptomoedas e Web3 · Explicador

Por que o Bitcoin tem oferta limitada

O limite de 21 milhões de bitcoins não está escrito em um contrato nem depende de um banco central. Ele é consequência de uma regra de emissão no código, verificada por cada computador da rede.