Cotações por TradingView
Cotações por TradingView
Cotações por TradingView
Cotações por TradingView

Você sabe o que são provas de conhecimento zero?

04/04/2021 - 11:00
Mencionados pela primeira vez em 1985, as provas de conhecimento zero garantem maior segurança nas transações em blockchain (Imagem: Freepik/iuriimotov)

Neste artigo da série “Bê-a-bá cripto”, você irá compreender o que são provas de conhecimento zero (ZKP, na sigla em inglês) e qual o papel delas na manutenção da privacidade de transações em blockchain.

Nas plataformas digitais que usam blockchain, como a Ethereum, todas as movimentações financeiras são registradas publicamente, em um livro-razão, e podem ser acessadas por qualquer pessoa. 

Apresentado pelo Decrypt, um exemplo desse livre acesso à informação é de quando traficantes de droga do site da deep web Silk Road foram pegos em uma tentativa de lavagem de bitcoin (BTC).

A descoberta só foi possível, pois o Departamento de Segurança Nacional dos Estados Unidos pôde rastrear as transações do grupo desde o início. 

Geralmente, traficantes de drogas devem ser presos, mas o que aconteceria se o governo violasse direitos humanos ou fosse corrupto?

Criptoativos, como o Bitcoin, prometeram fornecer liberdade da dominação arbitrária de Estados nacionais, mas isso levanta um outro questionamento: é possível haver liberdade sem privacidade? É exatamente para responder essa questão que entra a prova de conhecimento zero.

O que são provas de conhecimento zero?

A manutenção do sigilo de informações pessoais tem grande importância em transações de ativos e moedas digitais (Imagem: Freepik/macrovector)

Uma prova de conhecimento zero é um procedimento usado em criptografias que prova que determinada pessoa tem o conhecimento de algo sem revelar, de modo direto, a informação conhecida.

Esse método permite que dados pessoais permaneçam sigilosos em uma transação. Essas provas de conhecimento zero, portanto, possibilitam que o indivíduo mostre somente que sabe a verdade, sem precisar revelá-la.

Papéis em uma prova de conhecimento zero

No procedimento ZKP, há duas partes essencialmente envolvidas no processo: o comprovador e o verificador. O primeiro deve provar que tem conhecimento da informação secreta, enquanto o segundo tem de verificar se o comprovador está dizendo a verdade. 

Esse método funciona pelo modo como o verificador solicita a prova: esse pede que o comprovador realize determinada tarefa, a qual só pode ser feita se o comprovador souber o segredo de fato. 

No caso de uma tentativa de adivinhação por parte do comprovador, ele será descoberto em algum momento pelo verificador. No entanto, se o comprovador souber realmente o segredo, então não enfrentará problemas e passará pelos testes do verificador sem qualquer dificuldade. 

As duas partes envolvidas em provas de conhecimento zero – comprovador e verificador – diminuem os riscos de fraudes e golpes nas redes (Imagem: Freepik/macrovector)

O procedimento é semelhante ao de bancos ou de instituições, quando solicitam letras de uma palavra secreta para poderem verificar sua identidade. Nessas situações, a pessoa não está informando à empresa dados pessoais da conta, mas sim afirmando que sabe a sequência de uma determinada palavra.

Uma breve história

Os primeiros registros de provas de conhecimento zero datam de 1985, em um artigo chamado “The Knowledge Complexity of Interactive Proof-Systems”, elaborado por Shafi Goldwasser, Silvio Micali e Charles Rackoff.

Em um outro artigo, escrito em 2012, Alessandro Chiesa e um grupo de pesquisadores criaram o termo zk-SNARKs.

No ano de 2016, houve o lançamento da ZCash (ZEC), que se tornou a criptomoeda com foco em privacidade mais utilizada que implementou zk-SNARKs.

O que há de diferente em zk-SNARKs?

As zk-SNARKs são configurações que permitem tornar mais complexas as provas de conhecimento zero (Imagem: Freepik/macrovector)

A criptomoeda ZCash foi o primeiro exemplo de uso em larga escala e de aplicações das ZKP no mundo cripto. Essa moeda digital com foco em privacidade usa uma das formas de prova de conhecimento zero, chamada zk-SNARKs (argumentos de conhecimento sucinto não interativo de conhecimento zero). 

Nas provas de conhecimento zero mais simples, mencionadas anteriormente, comprovadores e verificadores devem fazer algumas rodadas de confirmação para que o verificador se certifique da veracidade das informações apresentadas. Já em zk-SNARKs, essa interação é feita de forma a tornar mais complexas as provas de conhecimento.

Além disso, outra característica importante das zk-SNARKs é que elas permitem que as provas tenham mais eficiência e usem menos dados, o que é essencial em redes blockchain em que memória e espaço são fundamentais para o bom funcionamento da plataforma.

Para iniciar o sistema, um protocolo que utiliza zk-SNARKs precisa ter uma “configuração confiável”. Caso a informação necessária para iniciar o sistema caia em mãos de pessoas mal intencionadas, ela pode ser usada para comprometer e corromper o sistema inteiro depois que esse for implementado.

A fim de evitar essa possível situação, no caso da ZCash, as chaves privadas e os computadores que as guardavam foram destruídos em um evento especial.

O que mais é diferente?

Criadas para corrigirem as deficiências das zk-SNARKs, as zk-STARKs pregam maior eficiência que a outra forma de ZKP (Imagem: Freepik/pikisuperstar)

A fase de configuração confiável pode ser considerada um ponto vulnerável na segurança, pois os usuários precisam acreditar que a informação utilizada na configuração foi destruída adequadamente.

Como uma tentativa de corrigir as deficiências das zk-SNARKs, foram criadas as zk-STARKs (argumentos de conhecimento sucinto e transparente de conhecimento zero), que também são uma forma de prova de conhecimento zero.

Além disso, as zk-STARKs não exigem a etapa de configuração confiável e pregam ter maior potencial de expansão e eficiência que as zk-SNARKs. 

O software e as ferramentas das zk-STARKs têm o objetivo de tornar os blockchains mais privados e escaláveis e são desenvolvidos pela StarkWare, empresa cofundada por Alessandro Chiesa, um dos pesquisadores que criou as zk-SNARKs. 

O que é possível fazer com provas de conhecimento zero?

Um projeto chamado Aztec quer implementar provas de conhecimento zero na rede Ethereum, por meio de um conjunto de contratos autônomos com foco em privacidade.

Nesse projeto, os contratos autônomos totalmente privados podem ser usados a fim de criar organizações descentralizadas autônomas (DAOs, na sigla em inglês) e tokens na plataforma Ethereum.

hacker segurança rede
As provas de conhecimento zero protegem os usuários de pessoas mal intencionadas e de possíveis ataques (Imagem: ZyCrypto)

Com o codinome “Istanbul”, esse aprimoramento na rede foi feito, exatamente, com o objetivo de reduzir os custos das provas de conhecimento zero convencionais, como as usadas pelo Aztec.

A preocupação com a privacidade também já chegou em outros blockchains, como o Tron, o qual utiliza uma versão de zk-SNARKs na própria rede, porém nem todas as transações são privadas.

Em plataformas como o Google, o Facebook e a Amazon, que são consideradas centralizadas, os dados dos usuários são vendidos para terceiros, com a intenção de gerar lucro na tentativa de manipular, por meio de propagandas, os interesses e o comportamento dos usuários.

Já em redes abertas que usam blockchain, todas as movimentações são registradas e abertas ao público. É exatamente nesse ponto que as provas de conhecimento zero atuam: elas oferecem uma rede pública e transparente, mas, ao mesmo tempo, protegem os usuários de pessoas mal intencionadas e possíveis ataques. 

Novo! Receba Grátis a Newsletter
Crypto Times
Uma newsletter que minera informação para você!

Autorizo o Money Times a utilizar os dados fornecidos para encaminhar conteúdos informativos e publicitários.

Última atualização por Vitória Tonetti Martini - 01/04/2021 - 16:20