Conceitos Fundamentais

zk-SNARKs

Tipo de prova de conhecimento zero compacta e de verificação rápida, usada para comprovar que algo é verdadeiro sem revelar a informação por trás disso.

Pontos-chave

  • zk-SNARKs são um tipo de prova de conhecimento zero, que comprova que algo é verdadeiro sem revelar a informação por trás.
  • Caracterizam-se por serem compactas e de verificação muito rápida, o que as torna eficientes para uso em blockchains.
  • São amplamente usadas em soluções de privacidade e de escala, embora algumas variantes exijam uma etapa de configuração sensível.

O que são zk-SNARKs?

zk-SNARK é a sigla, em inglês, para argumento de conhecimento sucinto, não interativo e de conhecimento zero. Apesar do nome técnico, a ideia central é acessível: trata-se de uma forma específica de prova de conhecimento zero, ou seja, um método para provar que uma afirmação é verdadeira sem revelar a informação que a sustenta. O que distingue os zk-SNARKs é como essa prova é construída e verificada.

Como funciona

Cada parte do nome descreve uma propriedade. Sucinto significa que a prova é pequena e rápida de verificar, mesmo que a afirmação por trás seja complexa. Não interativo significa que não é preciso um vaivém de mensagens entre quem prova e quem verifica: uma única prova basta e pode ser conferida a qualquer momento. E conhecimento zero significa que a verificação não revela nada além do fato de a afirmação ser verdadeira. Juntas, essas propriedades tornam os zk-SNARKs muito práticos.

Essas características explicam sua popularidade em blockchains. Como a prova é compacta e barata de verificar, ela pode ser publicada na rede sem sobrecarregá-la, permitindo comprovar, por exemplo, que um grande conjunto de transações é válido ou que uma condição foi cumprida, sem expor os dados envolvidos. Isso viabiliza tanto soluções de privacidade, que ocultam detalhes das transações, quanto soluções de escala, que comprovam muitas operações de uma vez.

Há, porém, um ponto de atenção conhecido. Muitas construções de zk-SNARKs dependem de uma etapa inicial de configuração que gera parâmetros secretos. Se esses parâmetros não forem descartados corretamente, quem os detiver poderia, em tese, forjar provas falsas, o que exige cuidado especial nessa fase. Existem variantes que reduzem ou eliminam essa exigência, e comparam-se com outra família de provas, os zk-STARKs, que dispensam essa configuração à custa de outras características. A escolha entre elas depende das necessidades de cada aplicação.

Entender os zk-SNARKs ajuda a compreender uma das tecnologias por trás da privacidade e da escala em cripto.

Por que importa

Entender os zk-SNARKs ajuda a compreender uma tecnologia central por trás de soluções de privacidade e de escala em blockchains, e por que provas compactas são tão úteis. É um conceito cada vez mais presente na infraestrutura cripto. Trata-se de um tema técnico, sem que isso represente qualquer recomendação de operação.

Limitações

Muitas variantes de zk-SNARKs dependem de uma etapa de configuração inicial que, se mal conduzida, introduz risco de provas forjadas. São tecnicamente complexos, e falhas de implementação podem comprometer suas garantias. Gerar as provas pode ser custoso, ainda que verificá-las seja leve. A escolha frente a alternativas depende do caso. Nada disso representa recomendação de operação.