Uma prova de conhecimento zero permite que uma parte prove a outra que uma afirmação é verdadeira sem revelar qualquer informação além da verdade da própria afirmação. É a técnica criptográfica por trás da privacidade em blockchain, rollups escaláveis e um número crescente de sistemas de verificação de identidade.
Resumo
- Provas de conhecimento zero permitem que um provador convença um verificador de que um cálculo foi executado corretamente sem revelar os dados subjacentes, possibilitando tanto privacidade quanto escalabilidade em blockchains.
- As duas principais famílias de provas de conhecimento zero usadas em blockchain são zk-SNARKs, que exigem uma cerimônia de configuração confiável inicial, e zk-STARKs, que não exigem configuração confiável, mas produzem provas maiores.
- Rollups de camada 2 da Ethereum, como zkSync, Scroll e Polygon zkEVM, usam provas de conhecimento zero para comprimir milhares de transações em uma única prova verificada na cadeia principal, reduzindo os custos de gás em 90 por cento ou mais.
- Vitalik Buterin introduziu o protocolo GKR no final de 2025 como uma forma de acelerar a verificação de provas de conhecimento zero da Ethereum, visando tornar a tecnologia prática para uso diário em escala.
- Provas de conhecimento zero são matematicamente sólidas, mas não são mágicas. Elas dependem de suposições criptográficas específicas, exigem recursos computacionais significativos para serem geradas e foram implantadas em produção há menos de três anos em escala.
A explicação padrão de provas de conhecimento zero usa a analogia da caverna. Ali Babá sabe a palavra secreta para abrir uma porta dentro de uma caverna circular. Ele pode provar que sabe a palavra entrando por um lado e saindo pelo outro, sob demanda, sem nunca dizer a palavra em voz alta. Após demonstrações bem-sucedidas suficientes, o verificador fica estatisticamente certo de que Ali Babá sabe o segredo.
Essa analogia está correta, mas é incompleta. Ela captura a intuição, mas perde o mecanismo. Na prática, provas de conhecimento zero não são sobre cavernas ou portas. Elas são sobre compromissos polinomiais, emparelhamentos de curvas elípticas e as propriedades matemáticas que permitem que uma parte codifique um cálculo como um conjunto de restrições e outra parte verifique se essas restrições são satisfeitas sem aprender quais valores as satisfizeram.
Este artigo explica o que as provas de conhecimento zero fazem, como funcionam os dois sistemas de prova dominantes, onde são implantados em produção e o que não podem fazer. Se você ouviu que provas de conhecimento zero resolvem todos os problemas de privacidade e escalabilidade do blockchain, a realidade é mais específica e mais interessante.
As três propriedades
Uma prova de conhecimento zero deve satisfazer três propriedades matemáticas. Completude significa que, se a afirmação for verdadeira e tanto o provador quanto o verificador seguirem o protocolo, o verificador sempre aceitará a prova. Solidez significa que, se a afirmação for falsa, nenhum provador desonesto pode convencer o verificador a aceitá-la, exceto com probabilidade desprezível. Conhecimento zero significa que o verificador não aprende nada além de se a afirmação é verdadeira.
A terceira propriedade é a contraintuitiva. Como você pode verificar um cálculo sem aprender nada sobre ele? A resposta está na estrutura do sistema de prova. O provador codifica o cálculo como uma equação polinomial, compromete-se com esse polinômio usando um esquema de compromisso criptográfico e, em seguida, responde a desafios aleatórios do verificador. O verificador verifica as respostas contra o compromisso sem nunca ver o polinômio em si.
Em provas de conhecimento zero não interativas, que são o tipo usado em blockchains, os desafios aleatórios são substituídos por uma função hash aplicada ao compromisso. Isso é chamado de heurística Fiat-Shamir, e permite que o provador gere a prova inteira sem nenhuma comunicação de ida e volta. A prova resultante é uma string compacta de dados que qualquer pessoa pode verificar de forma independente.
A base matemática repousa na dificuldade de certos problemas computacionais. Para zk-SNARKs, a segurança depende da dificuldade de calcular logaritmos discretos em curvas elípticas. Para zk-STARKs, a segurança depende da resistência a colisões de funções hash, que é considerada uma suposição mais fraca e mais conservadora. Se qualquer uma das suposições estiver errada, o sistema de prova correspondente quebra. É por isso que a escolha entre zk-SNARKs e zk-STARKs envolve tradeoffs além do tamanho da prova e da velocidade de verificação.
zk-SNARKs: configuração confiável, provas pequenas
zk-SNARK significa Argumento de Conhecimento Sucinto e Não Interativo de Conhecimento Zero. A palavra sucinto é o principal diferencial: uma prova zk-SNARK é extremamente pequena, tipicamente algumas centenas de bytes, e pode ser verificada em milissegundos, independentemente da complexidade do cálculo subjacente.
O custo dessa concisão é a configuração confiável. A maioria das construções zk-SNARK requer uma cerimônia inicial onde um conjunto de strings de referência estruturadas é gerado. Essas strings são usadas tanto pelos provadores quanto pelos verificadores. Se os valores aleatórios usados para gerá-las não forem destruídos adequadamente, qualquer pessoa que os retenha poderia criar provas falsas que parecem válidas. Isso às vezes é chamado de lixo tóxico.
Cerimônias modernas de configuração confiável usam protocolos de computação multiparte onde centenas ou milhares de participantes contribuem com aleatoriedade. A garantia de segurança é que, desde que pelo menos um participante destrua honestamente sua contribuição aleatória, a configuração é segura. A Zcash foi pioneira nessa abordagem com sua cerimônia Powers of Tau, e projetos subsequentes a refinaram.
Construções zk-SNARK mais recentes, como PLONK e suas variantes, usam uma configuração confiável universal e atualizável, o que significa que a mesma configuração pode ser reutilizada para diferentes circuitos e participantes adicionais podem fortalecer a configuração ao longo do tempo sem começar do zero. Isso mitiga a preocupação com a configuração confiável, mas não a elimina completamente. A troca fundamental permanece: provas menores e mais rápidas em troca de uma suposição de confiança única.
zk-STARKs: sem configuração confiável, provas maiores
zk-STARK significa Argumento de Conhecimento Escalável e Transparente de Conhecimento Zero. Transparente significa que nenhuma configuração confiável é necessária. As strings de referência são geradas a partir de aleatoriedade publicamente verificável, o que elimina completamente o problema do lixo tóxico. Escalável refere-se ao fato de que o tempo de prova cresce quase linearmente com o tamanho do cálculo, tornando os STARKs adequados para cálculos muito grandes.
A troca é o tamanho da prova. Uma prova zk-STARK é tipicamente de dezenas a centenas de kilobytes, em comparação com algumas centenas de bytes para um zk-SNARK. Em uma blockchain onde o armazenamento de dados é caro, essa diferença importa. O tempo de verificação também é um pouco maior para STARKs, embora ainda seja rápido o suficiente para uso prático.
StarkWare, a empresa por trás da Starknet, tem sido a principal defensora comercial dos zk-STARKs. Seu argumento é que a propriedade de transparência, combinada com a resistência quântica por depender apenas de funções hash em vez de curvas elípticas, torna os STARKs a melhor escolha de longo prazo, mesmo ao custo de provas maiores. Se os computadores quânticos realmente ameaçarão a criptografia de curva elíptica em um prazo relevante é debatido, mas a postura de segurança conservadora atrai aplicações onde a robustez de longo prazo importa mais do que a eficiência imediata.
ZK rollups: a aplicação de escalabilidade
A aplicação prática mais importante das provas de conhecimento zero em blockchain hoje são os ZK rollups. Um rollup executa transações fora da cadeia, agrupa-as, gera uma prova de conhecimento zero de que todas as transações eram válidas e publica apenas a prova e os dados de transação compactados na cadeia principal. A cadeia principal verifica a prova, o que é ordens de magnitude mais barato do que executar cada transação individualmente.
Essa arquitetura permite que redes de camada 2 da Ethereum processem milhares de transações pelo custo de uma única verificação de prova na camada 1. Na prática, ZK rollups como aqueles construídos na infraestrutura da Ethereum reduzem os custos de gás em 90 por cento ou mais em comparação com a execução das mesmas transações diretamente na mainnet.
Os principais projetos de rollup ZK em produção ou em estágio avançado de desenvolvimento em meados de 2026 incluem zkSync Era, Scroll, Polygon zkEVM, Linea e Taiko. Cada um usa um sistema de prova diferente e faz diferentes compensações entre compatibilidade com EVM, velocidade de prova e descentralização. zkSync usa uma máquina virtual personalizada e provas baseadas em PLONK. Scroll visa equivalência de EVM em nível de byte usando um prover zk-SNARK. Polygon zkEVM usa uma combinação de provas STARK e SNARK em uma arquitetura recursiva.
A competição entre esses projetos está impulsionando inovação rápida na geração de provas. Os tempos de prova caíram de horas para minutos e depois para segundos nos últimos dois anos. A introdução do protocolo GKR para Ethereum por Vitalik Buterin representa mais um passo para tornar a verificação de provas ZK uma operação rotineira em vez de um gargalo computacional.
Aplicações de privacidade além de rollups
As provas de conhecimento zero foram originalmente desenvolvidas para privacidade, não para escalabilidade. Zcash, lançado em 2016, foi o primeiro grande blockchain a usar zk-SNARKs para transações privadas. Em uma transação Zcash protegida, o remetente, o destinatário e o valor são todos ocultados da visão pública, enquanto a prova garante que nenhuma moeda foi criada do nada e que não ocorreu gasto duplo.
A aplicação de privacidade se estende além de transações financeiras. As provas de conhecimento zero podem verificar atributos de identidade sem revelar os dados subjacentes. Um usuário poderia provar que tem mais de 18 anos sem revelar sua data de nascimento, provar que é cidadão de um país específico sem revelar seu número de passaporte, ou provar que possui uma determinada credencial sem revelar qual instituição a emitiu.
Projetos como Worldcoin e Polygon ID implementaram sistemas de verificação de identidade baseados em ZK. Worldcoin usa provas de conhecimento zero para verificar que uma pessoa foi escaneada por seu dispositivo de escaneamento de íris sem vincular o escaneamento a qualquer identidade específica. Projetos do ecossistema Ethereum estão cada vez mais integrando identidade baseada em ZK como um primitivo junto com transações financeiras.
O caso de uso de privacidade enfrenta ventos contrários regulatórios. Reguladores financeiros em várias jurisdições expressaram preocupação de que transações totalmente privadas possam facilitar lavagem de dinheiro, evasão de sanções e financiamento do terrorismo. A tensão entre privacidade como um direito fundamental e transparência como um requisito regulatório é um dos debates políticos definidores em criptomoedas, e as provas de conhecimento zero estão diretamente no centro dele.
O que as provas de conhecimento zero não cobrem
As provas de conhecimento zero garantem integridade computacional: que uma computação específica foi executada corretamente. Elas não garantem que as entradas da computação estavam corretas, que a computação valia a pena ser executada, ou que o sistema construído em torno da prova está livre de bugs.
Um rollup ZK pode provar que todas as transações em um lote eram válidas de acordo com as regras do rollup. Não pode provar que as próprias regras estão corretas. Um bug nos contratos inteligentes do rollup ou no circuito de prova poderia produzir provas válidas para transições de estado inválidas. Vários projetos de rollup ZK divulgaram e corrigiram bugs críticos em seus circuitos durante auditorias e implantações em testnet.
As provas de conhecimento zero também não eliminam a necessidade de disponibilidade de dados. Em um rollup ZK, a prova informa à cadeia principal que a transição de estado foi válida, mas os usuários ainda precisam de acesso aos dados de transação subjacentes para reconstruir o estado e verificar se seus fundos estão intactos. Sem disponibilidade de dados, os usuários devem confiar no operador do rollup, o que parcialmente derrota o propósito da prova.
O custo computacional de gerar provas é substancial. Embora a verificação seja barata, a geração de provas requer hardware significativo. Executar um prover ZK em escala de produção normalmente requer servidores com centenas de gigabytes de RAM e aceleradores de hardware especializados. Esse custo cria uma força centralizadora natural em quem pode pagar para executar provers, mesmo que as próprias provas possam ser verificadas por qualquer pessoa.
Verificações práticas para avaliar projetos ZK
Ao avaliar um projeto que afirma usar provas de conhecimento zero, várias perguntas distinguem implementações sérias de marketing.
Primeiro, pergunte se o sistema de prova foi auditado de forma independente. Bugs no circuito podem criar vulnerabilidades de solidez onde provas inválidas são aceitas como válidas. Um projeto que não foi auditado por múltiplas firmas independentes de criptografia deve ser tratado com cautela.
Segundo, pergunte se o sistema de prova usa uma configuração confiável e, se sim, como a cerimônia foi conduzida. Uma configuração confiável com apenas um pequeno número de participantes, ou uma conduzida por uma única empresa sem verificação externa, representa uma suposição de confiança significativa.
Terceiro, verifique se o projeto publica seus contratos de verificação de prova e se esses contratos foram verificados na cadeia. Se a verificação está acontecendo fora da cadeia ou através de contratos proxy atualizáveis controlados por uma multisig, as provas de conhecimento zero podem não estar fornecendo as garantias de segurança que os usuários esperam.
Quarto, observe a solução de disponibilidade de dados. Se o projeto não publica dados de transação na cadeia ou em uma camada de disponibilidade de dados confiável, os usuários não podem verificar o estado de forma independente e devem confiar no operador. Isso é um afastamento significativo da ausência de confiança que as provas de conhecimento zero deveriam permitir.
Perguntas frequentes
O que é uma prova de conhecimento zero em termos simples?
Uma prova de conhecimento zero é uma forma de provar que você sabe algo sem revelar o que você sabe. No blockchain, ela permite que um computador prove a outro que um conjunto de transações é válido sem mostrar os detalhes dessas transações. Isso possibilita tanto privacidade quanto escalabilidade.
Qual é a diferença entre zk-SNARKs e zk-STARKs?
zk-SNARKs produzem provas muito pequenas, tipicamente algumas centenas de bytes, e verificam rapidamente, mas exigem uma cerimônia de configuração confiável única. zk-STARKs produzem provas maiores, tipicamente dezenas de kilobytes, mas não exigem nenhuma configuração confiável e são considerados resistentes a ataques de computação quântica. Ambos alcançam o mesmo objetivo de computação verificável com conhecimento zero.
Como os ZK rollups reduzem os custos de gás da Ethereum?
Os ZK rollups executam transações fora da cadeia principal da Ethereum, agrupam-nas e geram uma prova de conhecimento zero de que todas as transações são válidas. Apenas a prova e os dados compactados são postados na Ethereum. Verificar uma única prova é muito mais barato do que executar milhares de transações individuais, resultando em reduções de custo de gás de 90 por cento ou mais.
As provas de conhecimento zero são resistentes a quantum?
Depende do sistema de prova. zk-STARKs dependem de funções hash, que acredita-se serem resistentes a computadores quânticos. zk-SNARKs dependem de criptografia de curva elíptica, que teoricamente poderia ser quebrada por um computador quântico suficientemente poderoso. No entanto, computadores quânticos práticos capazes de quebrar curvas elípticas ainda não existem e podem não existir por décadas.
As provas de conhecimento zero podem tornar todas as transações de blockchain privadas?
Tecnicamente sim, mas praticamente há tradeoffs. Gerar provas para cada transação adiciona custo computacional e complexidade. Transações totalmente privadas também enfrentam desafios regulatórios em jurisdições que exigem transparência financeira. Projetos como Zcash oferecem privacidade opcional, enquanto a maioria dos ZK rollups usa a tecnologia principalmente para escalabilidade, não para privacidade.
O que é uma configuração confiável e por que isso importa?
Uma configuração confiável é uma cerimônia única que gera parâmetros criptográficos necessários para certos sistemas de prova. Se os valores aleatórios usados durante a cerimônia não forem destruídos adequadamente, alguém poderia criar provas falsas. Cerimônias modernas usam computação multipartidária onde centenas de participantes contribuem com aleatoriedade, e a configuração é segura desde que pelo menos um participante seja honesto.
Quais blockchains usam provas de conhecimento zero?
Zcash foi o primeiro grande blockchain a usar provas de conhecimento zero para transações privadas. Ethereum usa provas ZK através de rollups de camada 2, incluindo zkSync, Scroll, Polygon zkEVM, Linea e Starknet. Mina Protocol usa provas ZK recursivas para manter um blockchain de tamanho fixo. Várias outras cadeias incorporam tecnologia ZK para recursos específicos, como verificação de identidade ou mensagens entre cadeias.
Quanto tempo leva para gerar uma prova de conhecimento zero?
O tempo de geração da prova depende da complexidade do cálculo e do hardware usado. Para lotes de ZK rollup contendo milhares de transações, a geração de provas atualmente leva de segundos a minutos em hardware especializado. Dois anos atrás, as mesmas provas levavam horas. A tendência é para uma prova mais rápida através de aceleração de hardware e melhorias algorítmicas, com o objetivo de geração de provas em tempo real.






