Principais conclusões
Uma prova de conhecimento zero (ZKP) é um método criptográfico que permite que uma parte prove que uma afirmação é verdadeira sem revelar nenhum dado subjacente.
ZKPs aumentam a privacidade e a segurança em blockchain ao permitir que transações sejam verificadas sem expor detalhes sensíveis como endereços de carteira ou valores.
zk-SNARKs e zk-STARKs são os dois principais tipos de provas de conhecimento zero em uso hoje, com diferentes trade-offs em relação à velocidade, tamanho da prova e necessidade de trusted setup.
zk-rollups usam ZKPs para agrupar muitas transações off-chain e enviar uma única prova criptográfica on-chain, aumentando a taxa de transferência e reduzindo as taxas.
Aplicações reais de ZKP incluem transações privadas, verificação de identidade, finanças descentralizadas (DeFi) e interoperabilidade entre cadeias.
Introdução
Blockchains são construídas em torno da transparência. Cada transação em uma rede pública é visível para qualquer pessoa que queira olhar. Essa transparência cria confiança, mas também gera uma tensão fundamental: às vezes, você precisa verificar algo sem expor os dados subjacentes.
Provas de conhecimento zero resolvem esse problema. Elas permitem que uma parte—chamada de provador—convença outra parte—chamada de verificador—de que uma afirmação é verdadeira sem revelar qualquer informação além desse único fato. O nome vem diretamente da ideia: o verificador obtém conhecimento zero sobre os dados subjacentes, mas ainda assim pode ter confiança de que a alegação é válida.
ZKPs foram um conceito teórico em criptografia desde a década de 1980, mas implementações práticas em blockchain só se tornaram viáveis nos anos 2010. Desde então, elas se tornaram uma das tecnologias mais ativamente desenvolvidas na área, dando suporte a moedas de privacidade, soluções de escalabilidade da Camada 2 e sistemas de identidade.
Como funcionam as Provas de Conhecimento Zero
Em essência, uma prova de conhecimento zero é um protocolo matemático em que o provador gera uma prova que satisfaz um conjunto de condições que o verificador consegue verificar. O verificador pode confirmar que a prova está correta sem conseguir fazer engenharia reversa da entrada original.
Uma analogia clássica é um túnel com uma porta trancada no meio. Um provador que conhece o código da porta consegue entrar de um lado e sair do outro de forma consistente. Um verificador que observa do lado de fora vê a prova, sem nunca aprender o código em si.
Para uma ZKP ser válida, ela precisa satisfazer três propriedades. Completude significa que um provador honesto consegue sempre convencer o verificador. Solidez (soundness) significa que um provador desonesto não consegue convencer o verificador de uma afirmação falsa, exceto com uma probabilidade desprezível. Conhecimento zero significa que o verificador não aprende nada além de saber se a afirmação é verdadeira.
Na prática, a maioria das ZKPs em blockchain é não interativa: o provador gera uma prova como um único bloco de dados, e o verificador a verifica sem troca de mensagens. Isso torna as ZKPs práticas para uso em contratos inteligentes on-chain e em protocolos de Camada 2.
zk-SNARKs e zk-STARKs
Os dois tipos de provas de conhecimento zero mais usados em blockchain são zk-SNARKs e zk-STARKs. Ambos permitem verificar computação off-chain on-chain, mas diferem na abordagem técnica.
zk-SNARKs
As provas de conhecimento compacto e não interativo (zk-SNARK) são compactas e rápidas de verificar, o que as tornou populares em aplicações iniciais de ZKP, como transações privadas na Zcash e verificação de contratos inteligentes no Ethereum.
A principal desvantagem é que zk-SNARKs exigem uma configuração confiável (trusted setup), uma cerimônia na qual um conjunto de parâmetros criptográficos é gerado. Se a configuração for comprometida, um atacante poderia potencialmente gerar provas fraudulentas. Muitos projetos usam cerimônias de computação multipartidária para reduzir esse risco.
zk-STARKs
As provas de conhecimento escalável e transparente de conhecimento zero (zk-STARK) não exigem uma configuração confiável, o que elimina o risco de trusted setup. Elas também são consideradas mais resistentes a ataques de computação quântica do que zk-SNARKs. A troca é que as provas zk-STARK são maiores em tamanho, o que pode significar custos mais altos de verificação on-chain. StarkNet é uma rede de produção notável que usa zk-STARKs em escala.
zk-Rollups e escalabilidade de blockchain
Uma das aplicações mais significativas de ZKPs são os zk-rollups, uma solução de escalabilidade da Camada 2 para blockchains. Um zk-rollup processa centenas de transações off-chain, as agrupa em um lote e envia uma única ZKP para a cadeia principal para provar que todas essas transações são válidas.
Essa abordagem pode aumentar dramaticamente a taxa de transferência de transações, ao mesmo tempo em que herda a segurança da camada base. A principal alternativa, os rollups otimistas, assume que as transações são válidas a menos que sejam contestadas, o que introduz um atraso na retirada. Os zk-rollups não têm esse atraso porque a validade é provada criptograficamente no momento do envio.
O EIP-4844 do Ethereum, ativado em março de 2024, introduziu "blobs" como uma camada dedicada de armazenamento de dados para rollups da Camada 1 e da Camada 2. Isso reduziu substancialmente o custo de publicar lotes de ZKP on-chain, tornando os zk-rollups significativamente mais baratos para os usuários finais. Várias redes zkEVM, incluindo zkSync Era, Polygon zkEVM, Scroll e Taiko, já estão ativas em produção.
Casos de uso de provas de conhecimento zero
Transações privadas
Provas de conhecimento zero (ZKPs) podem ocultar endereços do remetente, endereços do destinatário e valores das transações em blockchains públicas. A Zcash foi pioneira ao implementar isso com transações protegidas usando zk-SNARKs, permitindo que os usuários realizem transações sem expor sua atividade financeira ao ledger público.
Verificação de identidade digital
ZKPs permitem que um usuário comprove que atende a um requisito, como ter mais de 18 anos ou possuir uma credencial válida, sem revelar os documentos subjacentes. Isso tem aplicações em sistemas descentralizados de identidade, conformidade com KYC e controle de acesso.
Privacidade em DeFi
Protocolos de finanças descentralizadas podem usar ZKPs para permitir empréstimos, tomadas de empréstimo e negociação privadas. Os usuários podem provar que têm colateral suficiente ou que atendem aos critérios de empréstimo sem expor todo o histórico da carteira ou o saldo completo.
Interoperabilidade entre cadeias
ZKPs podem verificar o estado de uma blockchain para outra sem exigir um nó completo. Isso torna possível construir bridges cross-chain e camadas de interoperabilidade que herdam segurança criptográfica em vez de depender de intermediários confiáveis.
Limitações das Provas de Conhecimento Zero
ZKPs não são uma solução completa para todos os desafios de privacidade e escalabilidade. Gerar uma ZKP exige computação considerável, o que pode significar requisitos de hardware mais altos para os provedores (provers). Isso está melhorando à medida que o software de provas amadurece, mas ainda é uma consideração para redes menores.
A necessidade de trusted setup (configuração confiável) para zk-SNARKs introduz uma suposição de confiança que muitos desenvolvedores e usuários preferem evitar. E, embora as ZKPs sejam probabilísticas em suas garantias de solidez (soundness)—ou seja, a chance de uma prova falsa passar na verificação é extremamente pequena, mas não zero—isso geralmente é considerado aceitável para fins práticos.
Por fim, a tecnologia de ZKP ainda está em maturação. Auditar circuitos de ZKP é complexo e exige expertise especializada. Vários bugs de alto perfil foram encontrados em implementações de ZKP, destacando a importância de uma revisão rigorosa antes de colocá-las em sistemas de produção.
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 é. O provador convence o verificador de que uma afirmação é verdadeira, e o verificador não aprende nada além do fato de que a alegação é verdadeira.
Qual é a diferença entre zk-SNARKs e zk-STARKs?
zk-SNARKs geram provas menores e verificam rapidamente, mas exigem uma configuração confiável. zk-STARKs não requerem trusted setup e são mais resistentes a ataques quânticos, mas geram provas maiores. Ambos são usados em sistemas de blockchain em produção.
Como as provas de conhecimento zero são usadas na escalabilidade do Ethereum?
zk-rollups usam provas de conhecimento zero para agrupar muitas transações off-chain e enviar uma única prova ao Ethereum para verificação. Isso aumenta a taxa de transferência e reduz as taxas de transação, mantendo a segurança da camada base do Ethereum.
As provas de conhecimento zero são totalmente seguras?
ZKPs oferecem garantias criptográficas muito fortes, mas não são infalíveis. A etapa de trusted setup nos zk-SNARKs introduz uma suposição de confiança. Já foram encontrados bugs de implementação em circuitos de ZKP em alguns projetos. Como em qualquer sistema criptográfico, a segurança depende de uma implementação correta e de revisões contínuas.
Considerações finais
As provas de conhecimento zero saíram de um conceito teórico para se tornar um componente central da infraestrutura moderna de blockchain. Elas viabilizam privacidade, melhoram a escalabilidade e tornam novas aplicações possíveis em DeFi, identidade e interoperabilidade.
A tecnologia continua evoluindo rapidamente. Redes zkEVM já estão em funcionamento no Ethereum, provando que os custos estão caindo, e novas aplicações baseadas em ZKP estão sendo implantadas regularmente. É provável que as ZKPs desempenhem um papel cada vez mais central em como as blockchains lidam com privacidade e escala nos próximos anos.
Leitura adicional
zk-SNARKs e zk-STARKs explicados
O que são Zk-Rollups? A técnica de escalabilidade da camada 2
Rollups otimistas vs. Rollups de conhecimento zero: qual é a diferença?
Soluções de escalabilidade da Camada 1 vs. Camada 2 no blockchain
Melhorando a transparência cripto com provas de conhecimento zero
Aviso legal: Este conteúdo é fornecido a você no formato "como está", apenas para informações gerais e fins educacionais, sem quaisquer declarações ou garantias de qualquer tipo. Não deve ser interpretado como aconselhamento financeiro, jurídico ou de outro tipo profissional, nem como uma recomendação para comprar qualquer produto ou serviço específico. Você deve buscar seus próprios conselhos de assessores profissionais adequados. Quando o conteúdo for fornecido por um terceiro, observe que as opiniões ali expressas pertencem ao terceiro autor e não necessariamente refletem as da Binance Academy. Os preços de ativos digitais podem ser voláteis. O valor do seu investimento pode subir ou descer e você pode não conseguir recuperar o valor investido. Você é o único responsável pelas suas decisões de investimento e a Binance Academy não se responsabiliza por quaisquer perdas que você possa incorrer. Para mais informações, consulte nossos Termos de Uso, Aviso de Risco e Termos da Binance Academy.
