Escrito por Pablo Gómez
Founder & CEO da Metlabs · Revisado em 11 de outubro de 2026
Para construir um zk-SNARK, a computação a ser provada é expressa como circuito aritmético, normalmente na forma R1CS (Rank-1 Constraint System) ou QAP (Quadratic Arithmetic Program). O esquema usa emparelhamentos bilineares sobre curvas elípticas amigáveis a pairing, como BN254 ou BLS12-381, e requer um trusted setup que gera uma cadeia de referência estruturada (SRS); o segredo empregado, o toxic waste, deve ser destruído. O fundamento teórico parte de GGPR em 2013, com Pinocchio como primeira implementação prática, e o esquema dominante por eficiência de verificação é o Groth16 (Jens Groth, Eurocrypt 2016): três elementos de grupo e três operações de pairing.
Habilita duas coisas: privacidade, com transações confidenciais, e escalabilidade, já que um verificador confere em tempo constante uma computação enorme. Essa sucintez rompe o vínculo entre o custo de verificar e o tamanho da computação, e é a base dos zk-rollups que descongestionam redes como Ethereum. Esquemas posteriores como PLONK, Marlin e Sonic introduzem um setup universal e atualizável, mais prático de operar.
Também conhecido como
- zkSNARK





