Imagem da matéria: O que são as provas de conhecimento zero?
Foto: Shutterstock
Em resumo
  • Provas de conhecimento zero são um tipo de criptografia que mantém os detalhes de uma transação ocultos.
  • O método foi desenvolvido pela primeira vez durante a década de 1980 por um grupo de matemáticos.
  • A Zcash foi a primeira criptomoeda a implantar a tecnologia, mas outras também a usaram.

Em redes blockchain como Bitcoin, todas as nossas atividades financeiras são registradas em um livro-razão (ledger) público para todos verem. Traficantes de droga na rota da seda foram apanhados tentando lavar o Bitcoin porque o governo dos Estados Unidos foi capaz de rastrear as transações até sua fonte. Traficantes devem ser descobertos de fato, mas e se o governo fosse corrompido ou violasse os direitos humanos básicos? 

Criptomoedas como o Bitcoin uma vez prometeram liberdade da dominação arbitrária dos estados-nação, mas é possível existir liberdade sem privacidade? É aí que entram as Provas de Conhecimento Zero. 

Publicidade

Exploraremos como funcionam as Provas de Conhecimento Zero, quem as inventou e como elas estão sendo implantadas na blockchain e em outros lugares.

O que é prova de conhecimento zero?

A prova de conhecimento zero é um método usado em criptografia para provar a autenticidade de algo sem revelar a informação diretamente, permitindo que a informação privada seja mantida em segredo. Provas de conhecimento zero são provas indiretas que lhe permitem provar que conhece um segredo sem nunca revelar o segredo a mais ninguém. A única coisa que você prova é que está dizendo a verdade.

Conceito: provadores e verificadores

Nas provas de conhecimento zero, as funções básicas são o provador e o verificador. O provador tem que provar que conhece o segredo. O verificador deve poder verificar se o provador está dizendo a verdade. 

Funciona porque o verificador pede ao provador que faça coisas que só podem ser feitas se o provador souber definitivamente o segredo. Se o provador estiver tentando adivinhar, acabará provando que está errado pelos testes do verificador. Se o segredo for conhecido, o provador passará sempre no teste dos verificadores sem problemas.

Publicidade

É como quando um banco ou instituição pede as letras de uma palavra secreta conhecida para verificar sua identidade. Você não está dizendo ao banco o que está em sua conta bancária, você está apenas dizendo a eles que você sabe a sequência de uma determinada palavra. 

Um breve histórico

  • 1985 – As primeiras provas de conhecimento zero foram escritas em um artigo chamado “A complexidade do conhecimento dos sistemas de prova interativos” por Shafi Goldwasser, Silvio Micali e Charles Rackoff.
  • 2012 – Alessandro Chiesa e uma equipe de investigadores criam o termo zk-SNARK.
  • 2016 – O Zcash é lançado e se torna a criptomoeda focada na privacidade mais conhecida para usar zk-SNARKs.

O que há de tão especial no zk-SNARKs?

O Zcash é o primeiro caso de uso generalizado e aplicação de provas de conhecimento zero no mundo das criptomoedas. A moeda de privacidade usa uma forma de provas de conhecimento zero chamada zk-SNARKs, que significa “Argumento Sucinto Não Interativo de Conhecimento Zero”.

Nas provas básicas de conhecimento zero que temos discutido, os provadores e verificadores devem interagir por algumas rodadas para que o verificador seja convencido da honestidade do provador.

Com as zk-SNARKs, a interação é retirada para que as provas se tornem mais complicadas. No entanto, elas também permitem que as provas sejam mais eficientes e usem menos dados — um recurso vital em redes blockchain, nas quais a memória e o espaço são preciosos para manter uma rede à tona.

Publicidade

Você sabia?
Em um protocolo baseado em zk-SNARKs, deve haver uma “configuração confiável” para iniciar o sistema. As informações utilizadas na fase inicial — se caírem em mãos erradas — podem ser usadas para pôr em risco e corromper todo o sistema após a sua implantação. No Zcash, as chaves privadas utilizadas no lançamento e os computadores que as processavam foram destruídos em uma cerimônia especial.

O que mais é diferente?

A fase de configuração confiável é considerada uma vulnerabilidade de segurança porque as pessoas precisam confiar que as informações usadas durante a configuração foram destruídas corretamente. Para corrigir as deficiências da zk-SNARK, a zk-STARKs foi criada. A Zk-STARKs é um tipo de prova de conhecimento zero que não requer a fase vulnerável de configuração confiável e também afirma trazer mais escalabilidade e eficiência do que a zk-SNARKs. 

A StarkWare é uma empresa que desenvolve ferramentas e software zk-STARKs para tornar as blockchains mais privadas e escaláveis. Ela foi cofundada por Alessandro Chiesa, um dos pesquisadores que criou a zk-SNARKs.

O que você pode fazer com provas de conhecimento zero?

O Aztec é um projeto que visa trazer provas de conhecimento zero para a rede Ethereum através da construção de uma stack de privacidade focada em contratos inteligentes.

Esses contratos inteligentes totalmente privados poderiam ser usados para criar tokens na rede Ethereum e organizações descentralizadas (DAOs). Uma atualização do Ethereum chamada Istanbul, foi especificamente projetada para reduzir os custos de provas de conhecimento zero como as usadas pela Aztec.

Outras blockchains também estão começando a levar a privacidade a sério. A Tron implantou uma versão da zk-SNARKs em sua rede — embora nem todas as transações sejam privadas. 

Publicidade

O Futuro

Em plataformas centralizadas como Facebook, Amazon e Google, nossos dados são vendidos com fins lucrativos em um esforço para manipular nosso comportamento por meio de publicidade.

Em redes blockchain completamente abertas, todas as nossas atividades são registradas e públicas. O que as provas de conhecimento zero oferecem é uma rede pública e transparente que protege as pessoas de bisbilhoteiros, curiosos e criminosos da nossa era digital.

*Traduzido por Gustavo Martins com autorização do Decrypt.