protocolo de conhecimento zero
Um protocolo de conhecimento zero ou Zero Knowledge Proof (ZKP) em criptografia permite que as informações sejam compartilhadas e verificadas sem fornecer dados desnecessários.
Estamos diante de um procedimento que tem dois agentes, o “testador” que diz que algo é verdadeiro e o “verificador” que verifica se realmente é. Assim, o segundo pode demonstrar a veracidade das informações sem a necessidade do primeiro fornecer informações sensíveis.
Portanto, estamos diante de um sistema de proteção de dados que permite a criptografia e também levou a uma revolução tecnológica. Ao final, veremos um exemplo escrito em 1992 por Louis Guillou, Jean-Jacques Quisquater e Thomas Berson.
Origem do protocolo de conhecimento zero
O protocolo de conhecimento zero tem mais de 50 anos de pesquisa por trás dele. Vejamos alguns dos eventos mais relevantes de sua história.
As pessoas que você conhece estão no campus
Para você aprender muito mais sobre finanças, investimentos e mercado de ações, criamos o Campus Novaeconomiahoje. Uma plataforma de cursos em vídeo, pensada para você aprender de forma divertida com conteúdos práticos e divertidos.
Os primeiros 1.000 assinantes têm 50% de desconto vitalício, aproveite!
- A criptografia sempre foi uma forma de proteger informações confidenciais ou importantes que não queremos que sejam conhecidas. Os sistemas antigos eram muito simples e baseados em códigos secretos.
- Com o advento dos computadores, tornou-se um problema muito mais complexo. No entanto, estes permitiram a geração de códigos baseados em matemática que ofereciam maior segurança na criptografia.
- A criptografia assimétrica foi revolucionada por seus criadores, Whitfield Diffie e Martin Hellman. Esses pesquisadores, em 1976, batizaram (usando seus sobrenomes) o algoritmo usado na segurança da Internet.
- De sua parte, David Chaum concebeu o protocolo de assinatura cega em 1982, que permitia assinaturas digitais sem trocar informações confidenciais. Na verdade, ele criou um sistema de grupo que oferecia a possibilidade de assinar digitalmente várias pessoas.
- Shafi Goldwasser, Silvio Micali e Charles Rackoff foram os pais do protocolo de conhecimento zero, uma revolução tecnológica em relação aos sistemas anteriores.
Características do Protocolo de Conhecimento Zero
Vejamos algumas das características deste protocolo que, além disso, são requisitos essenciais para a sua utilização.
- Solvência: A probabilidade de o “testador” enganar o verificador é muito pequena, como veremos no exemplo.
- Completude: Se a afirmação for verdadeira, pode ser testada e verificada com uma probabilidade muito alta, quase infinita.
- O protocolo: Permite esta troca de informações sem fornecer dados adicionais na operação. Por isso, o sistema protege a privacidade do usuário.
Tipos de protocolo de conhecimento zero
Podemos classificar o protocolo de conhecimento zero, com base nos testes de conhecimento realizados, em dois grupos:
- Nos interativos, IZKP, ambos os agentes devem estar presentes durante a troca de informações. Normalmente, o testador envia uma mensagem ao verificador, que verifica se está dizendo a verdade. Esta situação se repete várias vezes.
- No NZKP não interativo, apenas o testador deve estar presente. Isso gera um protocolo que pode ser revisado posteriormente pelo verificador.
Para passar de um teste interativo para um não interativo, utiliza-se a heurística Fiat-Shamir, que permite transformar um no outro. Por fim, um exemplo de IZKP é o Protocolo Chaum-Pedersen, que permite verificar cálculos matemáticos com pares de números.
Exemplo, a caverna de Ali Baba
Vejamos o exemplo usado por Louis Guillou, Jean-Jacques Quisquater e Thomas Berson. Relembremos a história de Ali Baba e sua caverna e imaginemos duas pessoas (Juan e Ana) diante dela. Claro que só a Ana (testadora) conhece a palavra mágica que abre a porta.
A caverna é em forma de anel e tem duas opções de entrada e em uma, B, a porta é fechada. Ana (a testadora) usa um caminho para entrar, escolhido aleatoriamente. Enquanto isso, Juan (o verificador) espera do lado de fora.
Agora Juan entra e diz a Ana para voltar pelo caminho B. Ele não sabe o caminho que Ana fez para entrar, mas agora ele está na encruzilhada e pode saber o caminho que ela vai tomar para voltar. Dessa forma, você verificará se Ana conhece ou não a palavra mágica sem que ela lhe diga qual é.
Pode acontecer que ela saiba realmente o caminho para entrar e, portanto, para sair. Mas a outra opção é que ele não a conhece e só pode voltar por A (ele não pode abrir a porta). Assim, a probabilidade de Juan estar correto é de 50%, o que seria devido ao acaso e não teria muita utilidade.
Agora vamos repetir o experimento 30 vezes e a probabilidade de erro se aproxima de zero. Portanto, ou Ana é honesta e não mente quando diz que conhece o caminho, ou terá problemas para retornar graças ao protocolo de conhecimento zero.