zk-SNARK
O que é zk-SNARK?
zk-SNARKArgumento sucinto não interativo de conhecimento com divulgação zero: uma prova curta e de verificação rápida de que uma computação foi executada corretamente, sem revelar as suas entradas.
Um zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) é um sistema de provas não interativo que produz provas de apenas algumas centenas de bytes, verificáveis em milissegundos, independentemente do tamanho da computação subjacente. Construções como Groth16, PLONK ou Halo2 baseiam-se em emparelhamentos em curvas elípticas ou em compromissos polinomiais e costumam exigir uma configuração de confiança, geralmente gerada por uma cerimónia multipartidária para evitar um ponto único de confiança. Os zk-SNARK suportam criptomoedas privadas (Zcash), zk-rollups de Ethereum (zkSync, Polygon zkEVM, Scroll) e sistemas de identidade confidenciais. Os principais compromissos são o elevado custo do provador e a dependência de hipóteses criptográficas potencialmente vulneráveis a ataques quânticos, exceto em variantes baseadas em reticulados.
● Exemplos
- 01
O Zcash usa zk-SNARK para esconder remetente, destinatário e valor das transações numa blockchain pública.
- 02
zkSync Era e Polygon zkEVM comprimem milhares de transações Ethereum numa única prova SNARK on-chain.
● Perguntas frequentes
O que é zk-SNARK?
Argumento sucinto não interativo de conhecimento com divulgação zero: uma prova curta e de verificação rápida de que uma computação foi executada corretamente, sem revelar as suas entradas. Pertence à categoria Criptografia da cibersegurança.
O que significa zk-SNARK?
Argumento sucinto não interativo de conhecimento com divulgação zero: uma prova curta e de verificação rápida de que uma computação foi executada corretamente, sem revelar as suas entradas.
Como funciona zk-SNARK?
Um zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) é um sistema de provas não interativo que produz provas de apenas algumas centenas de bytes, verificáveis em milissegundos, independentemente do tamanho da computação subjacente. Construções como Groth16, PLONK ou Halo2 baseiam-se em emparelhamentos em curvas elípticas ou em compromissos polinomiais e costumam exigir uma configuração de confiança, geralmente gerada por uma cerimónia multipartidária para evitar um ponto único de confiança. Os zk-SNARK suportam criptomoedas privadas (Zcash), zk-rollups de Ethereum (zkSync, Polygon zkEVM, Scroll) e sistemas de identidade confidenciais. Os principais compromissos são o elevado custo do provador e a dependência de hipóteses criptográficas potencialmente vulneráveis a ataques quânticos, exceto em variantes baseadas em reticulados.
Como se defender contra zk-SNARK?
As defesas contra zk-SNARK costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para zk-SNARK?
Nomes alternativos comuns: SNARK, Argumento sucinto não interativo de conhecimento.
● Termos relacionados
- cryptography№ 1265
Prova de Conhecimento Zero (ZKP)
Protocolo criptográfico em que um provador convence um verificador da veracidade de uma afirmação sem revelar nada além da própria validade dessa afirmação.
- cryptography№ 1270
zk-STARK
Argumento de conhecimento escalável, transparente e com divulgação zero: sistema de prova sem configuração de confiança, considerado seguro num contexto pós-quântico e baseado apenas em funções de hash resistentes a colisões.
- cryptography№ 987
Computação multipartidária segura (MPC)
Família de protocolos criptográficos que permite a várias partes calcular conjuntamente uma função sobre as suas entradas privadas, revelando apenas o resultado.
- cryptography№ 481
Cifragem homomórfica
Esquema de cifra que permite efetuar cálculos diretamente sobre cifrados, produzindo resultados também cifrados que correspondem às operações no texto claro.
- cryptography№ 321
Assinatura digital
Mecanismo criptográfico de chave pública que comprova autenticidade, integridade e não-repúdio de uma mensagem ou documento.
- cryptography№ 879
Criptografia de chave pública
Ramo da criptografia que usa pares de chaves pública e privada para suportar cifragem, troca de chaves, assinaturas digitais e autenticação sem segredos partilhados previamente.