O Que São ZK-SNARKs?
Provas de Privacidade e Mineração Explicadas
conhecimento zero · verificação sucinta · provador e verificador · configuração confiável · privacidade · escalonamento
Nesta Página
1O Que É Um ZK-SNARK?
Um ZK-SNARK é uma prova criptográfica que permite que um provador convença um verificador de que uma declaração é verdadeira, e que o provador conhece a informação secreta necessária, sem revelar esse segredo. O nome completo é Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (Argumento de Conhecimento Sucinto Não Interativo de Conhecimento Zero). É uma família de construções de prova, não um algoritmo universal.
Em uma transação de blockchain, a declaração pública pode ser: “Esta transferência segue as regras do protocolo.” A testemunha privada pode incluir chaves secretas, anotações, saldos ou um rastreamento de execução. Uma prova válida pode mostrar que os dados ocultos satisfazem as regras sem colocar os próprios dados em um registro público. É por isso que os ZK-SNARKs são úteis para pagamentos privados, computação verificável, reivindicações de identidade e sistemas de escalonamento.
O verificador aprende que uma computação precisamente definida foi realizada corretamente. O verificador não aprende automaticamente as entradas privadas usadas dentro dessa computação.
2O Que Significa Cada Parte do ZK-SNARK
“Sucinto” não garante o mesmo tamanho de prova ou tempo de verificação em todos os sistemas. Groth16, sistemas da família PLONK, sistemas da família Marlin e Halo 2 fazem escolhas diferentes. Os custos exatos dependem do circuito, curvas, esquema de compromisso, implementação, hardware e alvo de segurança.
3Como Um ZK-SNARK Funciona?
A matemática é avançada, mas o fluxo de trabalho pode ser compreendido em cinco etapas.
- Defina a declaração. Os desenvolvedores expressam as regras como um circuito aritmético ou sistema de restrição. Para um pagamento, as regras podem verificar a propriedade, a conservação de valor e que uma entrada ainda não foi gasta.
- Separe as entradas públicas e privadas. As entradas públicas são visíveis para o verificador. A testemunha privada contém os valores secretos necessários para satisfazer o circuito.
- Prepare os parâmetros de prova. Dependendo do sistema de prova, isso pode envolver parâmetros específicos do circuito, uma string de referência estruturada universal ou uma configuração que não dependa de aleatoriedade secreta.
- Gere a prova. O provador calcula um objeto criptográfico compacto mostrando que uma testemunha válida satisfaz todas as restrições.
- Verifique a prova. Um nó ou contrato inteligente verifica a prova usando entradas públicas e uma chave de verificação. Ele aceita ou rejeita sem aprender a testemunha.
Isso não significa que o verificador confia no provador. A prova é útil porque um provador desonesto não deveria ser capaz de fazer uma declaração falsa passar, assumindo que a criptografia e a implementação são sólidas.
4Completude, Solidez e Conhecimento Zero
| Propriedade | Significado Prático | Falha a Evitar |
|---|---|---|
| Completude | Um provador honesto com uma testemunha válida pode criar uma prova que o verificador aceita | Usuários válidos sendo rejeitados pelo sistema de prova |
| Solidez | Um atacante computacionalmente limitado não pode provar uma declaração falsa, exceto com probabilidade insignificante | Provas forjadas ou transições de estado inválidas |
| Solidez do conhecimento | Um provador bem-sucedido é tratado como possuindo uma testemunha válida | Passar na verificação sem conhecer os dados secretos necessários |
| Conhecimento zero | A prova não revela a testemunha protegida além da saída pública | Vazamento de saldos, identidades ou entradas de computação |
Essas garantias se aplicam à declaração codificada pelo circuito. Se o circuito omitir uma regra de negócio, usar o intervalo errado ou aceitar uma condição insegura, a prova pode ser criptograficamente válida, enquanto a aplicação permanece errada. O design do circuito, a revisão da implementação, a geração de parâmetros, o comportamento da carteira e a segurança operacional são, portanto, parte do limite de segurança.
5O Que É Uma Configuração Confiável?
Alguns ZK-SNARKs exigem uma string de referência estruturada gerada antes do início da prova. Sistemas mais antigos específicos de circuito usavam cerimônias que produziam parâmetros públicos enquanto os participantes tentavam destruir a aleatoriedade secreta, às vezes chamada de "lixo tóxico". Se todos os colaboradores coludissem ou o processo fosse comprometido, certos sistemas poderiam perder a solidez.
A computação multipartidária reduz esse risco: uma cerimônia pode permanecer segura se pelo menos um participante se comportar honestamente e destruir sua contribuição secreta. Projetos mais recentes oferecem diferentes modelos de configuração. Uma configuração universal pode suportar muitos circuitos, enquanto projetos transparentes ou sem confiança evitam a aleatoriedade de configuração oculta. Essas escolhas afetam o tamanho da prova, a velocidade do provador, o custo de verificação, a recursão e a complexidade da implementação.
Os sistemas Sprout e Sapling anteriores da Zcash usavam cerimônias de parâmetros multipartidárias. O Orchard, introduzido com o NU5, usa Halo 2 e removeu a dependência de uma configuração confiável para esse protocolo blindado. É impreciso descrever todo ZK-SNARK moderno como exigindo uma cerimônia secreta permanente.
6Como Zcash Usa ZK-SNARKs e Mineração
Zcash é o exemplo de produção mais conhecido de ZK-SNARKs para privacidade de pagamento. Em uma transação blindada, os compromissos representam notas privadas, os anulações impedem que a mesma nota seja gasta duas vezes, e uma prova mostra que a transação obedece às regras do protocolo. Dependendo do tipo de transação e das informações de visualização divulgadas, endereços, valores e dados de memorando podem permanecer protegidos enquanto os nós ainda verificam a validade.
ZK-SNARKs não são o algoritmo de mineração da Zcash. A mineração da Zcash usa prova de trabalho Equihash. Os mineradores competem para produzir blocos, ordenar transações válidas e proteger o histórico da cadeia. Os nós verificam as provas de conhecimento zero dentro das transações blindadas antes de aceitá-las. A camada de prova estabelece a correção da transação; a camada de consenso e mineração decide quais transações válidas se tornam parte da cadeia canônica.
Essa distinção é importante para o hardware. Um ASIC Equihash acelera a hash de prova de trabalho; ele não serve como um gerador de prova Halo 2 geral. Da mesma forma, um dispositivo que gera uma prova de carteira não está minerando ZEC automaticamente. Nosso guia de segurança de mineração da Zcash explica como o Orchard, o software de carteira, os nós e a mineração Equihash se encaixam.
Para a razão voltada para o usuário por trás das transações blindadas e da divulgação seletiva, consulte Valor da Privacidade da Zcash em 2026.
7Aleo, Rollups, Identidade e Computação Verificável
Aleo utiliza provas de conhecimento zero para execução privada de programas. Um usuário pode criar uma prova de que uma transição de estado seguiu um programa publicado, mantendo os dados de registro elegíveis privados. A rede verifica a prova e processa a lógica de finalização pública por meio de seu sistema de consenso. A prova ZK demonstra a execução correta; o AleoBFT fornece o acordo da rede. Tratar essas como a mesma operação repetiria a confusão entre mineração e prova vista em explicações mais antigas do Zcash.
O Panorama da Rede Aleo mais amplo aborda seu modelo de privacidade, descentralização e participação na rede sem reduzir o projeto a um acrônimo de prova.
ZK-SNARKs também suportam outros designs:
- Rollups de validade: provam que um lote de transições de estado off-chain foi executado corretamente antes que um contrato de camada base aceite a nova raiz de estado.
- Identidade privada: provam idade, filiação, jurisdição ou posse de credenciais sem revelar a credencial completa.
- Prova de reservas ou passivos: demonstram que os dados comprometidos satisfazem uma relação, limitando a divulgação, desde que o compromisso e o escopo contábil estejam completos.
- Computação verificável: provam que o software produziu uma saída a partir de entradas comprometidas sem exigir que cada verificador repita o trabalho caro.
Um "ZK rollup" não é automaticamente privado. Muitos rollups de validade publicam dados de transação suficientes para reconstrução e usam provas principalmente para correção e escalabilidade. A privacidade depende do que é público, do que é oculto e do que o circuito prova.
8Limites, Custos e Riscos de Segurança
Os ZK-SNARKs comprimem a verificação, mas a geração de provas pode ser intensiva em computação e memória. Os desenvolvedores devem traduzir programas em restrições, gerenciar chaves de prova e verificação, selecionar curvas e esquemas de compromisso, e otimizar circuitos. Aplicações complexas podem precisar de hardware especializado ou infraestrutura de prova distribuída.
- Bugs no circuito: uma restrição ausente pode permitir que uma testemunha inválida satisfaça a declaração implementada.
- Bugs na implementação: erros de serialização, aleatoriedade, carteira, verificador ou biblioteca podem minar a matemática sólida.
- Suposições de configuração: sistemas que usam um SRS dependem do modelo de segurança e da execução da geração de parâmetros.
- Vazamento de metadados: tempo de rede, dados de IP, comportamento da carteira, entradas públicas e registros de troca podem revelar informações fora da prova.
- Risco de atualização: a alteração de circuitos ou sistemas de prova requer planejamento cuidadoso de compatibilidade, auditoria e migração.
Um ZK-SNARK prova uma declaração enquanto oculta dados de testemunha designados. Não criptografa automaticamente bancos de dados, oculta endereços IP, protege endpoints ou torna cada transação anônima. O protocolo circundante deve definir compromissos, chaves, divulgações, estado e comportamento de rede corretamente.
9ZK-SNARKs, STARKs e Provas ZK Gerais
| Termo | O Que Descreve | Força Típica | Qualificação Importante |
|---|---|---|---|
| Prova de conhecimento zero | Ampla família de protocolos que provam declarações sem revelar informações de testemunha protegidas | Conceito geral de privacidade | Pode ser interativo ou não interativo, sucinto ou não |
| ZK-SNARK | Argumento de conhecimento sucinto e não interativo | Provas pequenas e verificação eficiente | Configuração, tamanho da prova e desempenho variam de acordo com a construção |
| ZK-STARK | Argumento escalável transparente usando técnicas baseadas em hash | Sem configuração confiável e diferentes suposições pós-quânticas | As provas são frequentemente maiores que as provas SNARK |
| Prova de validade | Prova de que uma transição de estado ou lote foi computado corretamente | Escala e verificação eficiente | Pode não ocultar dados de transação na prática |
O sistema de prova certo depende da aplicação. Um protocolo de pagamento pode priorizar a privacidade e a prova móvel. Um rollup pode priorizar o throughput e o custo de verificação on-chain. Um protocolo de longa duração pode valorizar a configuração transparente ou a recursão. "Usa ZK" é um ponto de partida para análise, não uma descrição técnica completa.
10Perguntas Frequentes Sobre ZK-SNARK
O que significa ZK-SNARK?
Significa Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (Argumento de Conhecimento Sucinto Não Interativo de Conhecimento Zero).
Os ZK-SNARKs são um algoritmo de mineração de criptomoedas?
Não. Um ZK-SNARK prova que uma declaração ou computação é válida. A Zcash usa separadamente a prova de trabalho Equihash para mineração e segurança de consenso.
Todos os ZK-SNARKs exigem uma configuração confiável?
Não. Os requisitos de configuração diferem. Alguns usam cerimônias específicas do circuito, alguns usam parâmetros universais e sistemas como o Halo 2 podem evitar a configuração confiável.
Os ZK-SNARKs tornam um blockchain totalmente anônimo?
Não por si mesmos. A privacidade depende do protocolo, das entradas públicas, do comportamento da carteira, dos metadados da rede, das escolhas de divulgação e do tamanho do conjunto de privacidade.
Por que os ZK-SNARKs são úteis para escalabilidade?
Um verificador pode verificar uma prova compacta de um grande cálculo em vez de repetir cada etapa. Os rollups usam essa propriedade para verificar lotes de transições de estado de forma eficiente.
11Referências
Essas fontes técnicas primárias e oficiais foram revisadas antes da inclusão. Links externos abrem em uma nova aba e são marcados como nofollow.
- Zerocash: Decentralized Anonymous Payments from BitcoinO artigo original da IACR descrevendo a construção do Zerocash e as provas sucintas de conhecimento zero para pagamentos privados.
- Zcash: O que são zk-SNARKs?Explicação oficial do acrônimo, modelo provador-verificador, parâmetros públicos e transição Halo 2.
- Glossário da Documentação ZcashDistinção oficial entre provas blindadas zk-SNARK e mineração Equihash proof-of-work.
- Documentação do Desenvolvedor Aleo: Introdução ao zkSNARKVisão geral oficial de provadores, verificadores, testemunhas, modelos de configuração e transições de estado privado no Aleo.
- Documentação do Desenvolvedor Ethereum: ZK-RollupsExplicação oficial das provas de validade, transações em lote, raízes de estado e verificação de rollup.
Explicação Final
ZK-SNARKs permitem que um verificador comprove o conhecimento ou o cálculo correto sem ver a testemunha protegida. Seu valor reside na combinação de privacidade com verificação compacta e eficiente.
Eles não substituem consenso, mineração, criptografia, auditorias ou software seguro. No Zcash, as provas validam as regras de transação blindada enquanto os mineradores Equihash protegem e ordenam os blocos. No Aleo e nos rollups, as provas desempenham diferentes funções de execução e escalabilidade. Sempre pergunte o que é provado, o que permanece público, quais suposições de configuração se aplicam e quem realiza o consenso.








Deixar comentário
Este site é protegido por hCaptcha e a Política de privacidade e os Termos de serviço do hCaptcha se aplicam.