Voltar ao início

Zero Knowledge: privacidade e segurança na blockchain

Zero Knowledge: privacidade e segurança na blockchain

Saiba o que é Zero Knowledge, a sua origem, como funciona e quais os seus casos de uso

Tim Balabuch
Content Creator
25/5/23

A tecnologia Zero Knowledge Proof (ZK Proof) — que é traduzida como "prova de conhecimento zero" — é um avanço nas áreas de criptografia e segurança da informação, e que desempenha um papel crucial na proteção da privacidade e na garantia da integridade dos dados em diversas aplicações, incluindo a blockchain. 

Neste artigo será explorado o conceito básico da ZK Proof, a sua origem, o seu funcionamento e a sua utilidade para fortalecer a segurança e a privacidade em sistemas baseados em blockchain.

O que é Zero Knowledge Proof?

A ZK Proof é uma tecnologia criptográfica que permite a um indivíduo provar a validade de uma afirmação sem revelar qualquer informação adicional além da veracidade da própria afirmação. 

Ficou confuso? Vamos a um exemplo: imagine que Alice deseja provar para Bob que ela conhece a senha de acesso de uma conta bancária específica, mas sem revelar a senha em si. Para isso, ela pode simplesmente dizer o saldo da conta bancária. Dessa forma, ela prova que sabe a senha para Bob, mas sem revelar propriamente a senha. 

Em outras palavras, é possível demonstrar que algo é verdadeiro sem revelar a informação de fato. E isso é possível graças a protocolos criptográficos que garantem a validação sem expor dados sensíveis.

Origem e desenvolvimento

A prova de conhecimento zero foi introduzida pela primeira vez em 1985 por Shafi Goldwasser, Silvio Micali e Charles Rackoff em um artigo seminal intitulado "The Knowledge Complexity of Interactive Proof Systems" — título que pode ser traduzido para "A complexidade do conhecimento dos sistemas de provas interativas" em português. 

Nesse trabalho, os autores estabeleceram as bases teóricas da ZK Proof demonstrando que é possível provar a validade de um teorema matemático sem revelar informações adicionais.

Ao longo do tempo, outros estudiosos foram desenvolvendo a ideia e aprimorando a tecnologia. Manuel Blum, Paul Feldman e Silvio Micali foram os primeiros a aprimorar a tecnologia, tornando-a mais eficiente e muito próxima do que está sendo usado hoje no uso de soluções blockchain, sobretudo, na rede Ethereum. 

Como o Zero Knowledge Proof funciona

Uma prova de conhecimento zero é um método para provar que uma afirmação é verdadeira, mas sem revelar o conteúdo dessa afirmação, através de algoritmos que recebem dados e os atestam como "verdadeiro" ou "falso".

Para isso, existem três critérios que um protocolo de conhecimento zero deve cumprir:

  1. Completude: se a entrada for válida, o protocolo atesta o dado como "verdadeiro". Isso significa que se a afirmação for verdadeira/exata, e todas as partes agirem honestamente, a prova será aceita — como o exemplo citado acima;
  1. Solidez: se a entrada for inválida, é teoricamente impossível enganar o protocolo para obter um resultado "verdadeiro". Portanto, uma pessoa mentirosa não pode enganar uma pessoa honesta fazendo-a acreditar que uma afirmação inválida é verdadeira;
  1. Conhecimento zero: o verificador só recebe a informação que atesta a veracidade ou a falsidade. Isso evita que o verificador deduza o conteúdo original da afirmação a partir da prova.

Existem diversos outros detalhes técnicos e tipos diferentes de ZK Proof, mas, por enquanto, vamos abordar essa tecnologia em suas características gerais. 

Casos de uso em blockchain

A prova de conhecimento zero tem ganhado destaque em aplicações de blockchain devido à sua capacidade de proteger a privacidade, garantir a integridade dos dados e aumentar a escalabilidade. Aqui estão alguns casos de uso da ZK Proof em blockchain:

  1. Privacidade em transações: o conhecimento zero permite que as transações em Blockchain sejam privadas, ocultando informações sensíveis, como os valores das transações e os endereços das partes envolvidas; 
  1. Contratos inteligentes privados: esse tipo de prova de conhecimento pode ser aplicada para proteger a privacidade dos contratos inteligentes em blockchain. Isso permite que as partes envolvidas verifiquem a validade de um contrato sem revelar as informações confidenciais presentes no mesmo;
  1. Verificação de transações: a ZK Proof pode ser usada para verificar a validade das transações sem a necessidade de processar todos os detalhes na cadeia de blocos. Isso melhora a eficiência do processo de verificação e reduz a carga computacional necessária;
  1. Proteção de identidade: a tecnologia contribui para o contexto de identidade descentralizada, ou identidade auto-soberana, dando ao indivíduo a possibilidade de provar a sua cidadania sem revelar o número do seu documento, por exemplo; 
  1. Autenticação: a prova de conhecimento zero é uma maneira de simplificar a autenticação em serviços online, pois ela é como uma credencial que o usuário pode apresentar para comprovar a sua identidade ao acessar um serviço. Isso torna o processo mais fácil para os usuários e reduz a quantidade de informações pessoais armazenadas pelas organizações.

Considerações finais

As soluções em blockchain que estão surgindo com a prova de conhecimento zero prometem ser bastante promissoras para resolver alguns problemas que ainda não foram totalmente solucionados.

As zk-EVMs, e as outras redes blockchain que utilizam a tecnologia, estão apenas em seus experimentos iniciais. Por isso, vale a pena acompanhar como a experiência dos usuários irá melhorar ao longo do tempo com a ZK Proof.

Com certeza iremos produzir mais artigos para esclarecer outros pontos importantes em relação a essa tecnologia incrível.  

👉 Para saber mais sobre Zero Knowledge, assista a este vídeo.