Zero Knowledge Protocol ou por sua sigla, ZKP, é um protocolo de criptografia avançado usado para criar sistemas distribuídos altamente seguros e anônimos. Os protocolos ZKP permitem que as informações sejam compartilhadas e verificadas sem revelar dados desnecessários, mantendo assim um alto nível de segurança. 

Lsegurança, privacidade e anonimato, são objetivos que cypherpunks eles sempre perseguiram desde o seu início nos anos 80. Uma série de objetivos que não são fáceis de atingir devido à complexidade de sistemas capazes de fornecer todas essas capacidades.

Porém, o desenvolvimento conjunto e muitas vezes comunitário dessas ferramentas nos permitiu criar uma tecnologia capaz de oferecer todas essas características. O melhor de tudo é que a flexibilidade e a facilidade de uso nunca são comprometidas. Estamos falando sobre o Testes ou protocolos do protocolo Zero Knowledge ou ZKP.

Graças à existência deste protocolo, hoje podemos desfrutar de sistemas distribuídos muito seguros e anônimos. Mas quão seguros são os ZKPs? Como funciona esse protocolo? Onde é aplicado? Responderemos a essas perguntas e muito mais neste novo artigo da Bit2Me Academy.

O método Zero Knowledge Protocol

Um teste ZKP serve como um método de autenticação no qual Você não precisa revelar segredos para atingir o objetivo de provar que possui certas informações secretas. Isso é importante porque o fato de não compartilhar segredos significa que eles não podem ser roubados. Sem dúvida, uma característica interessante que nos permite criar canais de comunicação muito seguros.

El alvo deste tipo de protocolos é provar que um ou mais segredos são conhecidos por alguém, sem realmente revelar esse segredo. O próprio termo "Conhecimento zero" Decorre do fato de nenhuma informação ser divulgada. Duas partes participam neste processo; ele "Provador" do argumento e o "Verificador" º.

A ideia básica deste protocolo é provar de forma inequívoca que o “Testador” conhece o segredo sem o revelar, tarefa que fica a cargo do “Verificador”. O melhor é que para verificar essas informações, não é necessário consultar terceiros, basta pegar as informações do "Testador" e aplicar o protocolo. Desta forma, o "Verificador" pode saber se a informação é verdadeira em todos os momentos.

Em poucas palavras mais simples:

A prova de conhecimento zero é um método criptográfico pelo qual uma das partes pode demonstrar à outra a veracidade da informação, sem revelar informação sensível sobre a mesma.

O desenvolvimento desta tecnologia criptográfica exigiu muito trabalho árduo de muitos criptografadores e colaboradores. Mas o resultado obtido agora nos permite modelar e criar sistemas muito seguros que antes eram impensáveis.

Um pouco da história pré-ZKP

Claro, a criação dos ZKPs não foi um acontecimento fortuito, na verdade, é a união de vários trabalhos em mais de 50 anos de pesquisas. Aqui você aprenderá um pouco mais sobre como esse avançado sistema de criptografia se tornou uma realidade.

A chegada da criptografia assimétrica

O desenvolvimento da criptografia sempre esteve ligado ao fato de garantir a segurança e a privacidade das informações. Tudo isso para que terceiros não autorizados ou desonestos tenham acesso a ele. Em princípio, os sistemas de criptografia conseguiram isso por meios bastante simples. Mas a história mudou radicalmente com o advento dos computadores.

Graças aos computadores, alcançamos o potencial de criar sistemas de criptografia usando matemática muito complexa, que por sua vez, se traduziu em prefeito segurança. Todo esse avanço tecnológico levou a um maior desenvolvimento da tecnologia criptográfica. No entanto, o maior salto qualitativo foi, sem dúvida, a criação do criptografia assimétrica.

Essa ferramenta rapidamente se tornou o padrão criptográfico do mundo devido ao seu alto nível de segurança. A razão? O projeto de sistemas criptográficos assimétricos abriu toda uma nova gama de oportunidades. A primeira proposta nesse sentido foi apresentada pelos pesquisadores. Whitfield Diffie y Martin Hellman. Foram eles em 1976 quem projetaram o algoritmo de Diffie-Hellman Atualmente responsável pela segurança em muitos sistemas de computadores, incluindo a Internet.

Criação de assinaturas cegas

A evolução da criptografia nos leva a um dos mais conhecidos sistemas de criptografia assimétrica; as Assinaturas cegas. Isso foi projetado por David Chaum, em 1982. Com este sistema, Chaum muda radicalmente a forma como documentos, arquivos e mensagens podem ser assinados digitalmente. Tudo isso, sem a necessidade de revelar informações às partes envolvidas na troca de assinaturas. Isso permitiu, melhorar o nível de privacidade e resolver graves problemas de segurança de alguns sistemas existentes até aquele momento.

Mas Chaum, como pesquisador dedicado, aprimorou a tecnologia, a ponto de criar as conhecidas Empresas cegas em grupo. Com essa melhoria, agora foi permitido assinar a mensagem de um grupo de pessoas, verificar se a mensagem veio desse grupo, mas sem saber quem realmente assinou. Com esses avanços Chaum, foi um dos pioneiros na investigação de protocolos de zero conhecimento. Tudo antes mesmo do termo existia. Desta forma lançou as bases para o que seria um avanço extraordinário em tecnologia criptográfica.

Evidência de divulgação mínima de conhecimento

David Chaum certamente lançou as bases para essa tecnologia, não apenas academicamente, mas também na prática. No entanto, o termo não começou a ser usado até sua primeira aparição em 1985. Naquele ano, veio à tona "A complexidade do conhecimento dos sistemas de teste interativos". Este foi um artigo criado por Shafi Goldwasser e seus co-autores Silvio Micali y Charles extorsão. Foi neste artigo que o termo foi usado pela primeira vez "Teste de conhecimento zero."

Mais tarde, em 1987, David Chaum, juntamente com Gilles Brassard y Claude Crépeaupublicou o trabalho "Testes Mínimos de Divulgação de Conhecimento". Com este novo trabalho, foi finalizado o que define até agora a base de um protocolo de zero conhecimento:

"Um protocolo de conhecimento zero permite um"testador"Convença um"verificador"Que o primeiro tem informações secretas verificáveis. Todo ele sem permitir que verificador sabe algo sobre essa informação. As informações secretas podem ser verificáveis ​​estatisticamente ou deterministicamente. E apenas um deles, o verificador ou o testador, precisa ter recursos limitados ”.

Protocolo de zero conhecimento e a caverna de Ali Baba

Em 1992, foi publicado; Como explicar o protocolo zero conhecimento para seus filhos?. Este simples artigo escrito por Louis Guillou, Jean-Jacques Quisquater y Thomas berson, conseguiu explicar de maneira completamente simples a operação desse protocolo. Para isso, eles criaram um exemplo simples chamado "A caverna de Ali Baba".

O exemplo da caverna de Ali Baba

Maria quer mostre a ele a Roberto quem sabe a palavra mágica que abre a porta da caverna de Ali Baba, mas não deseja revelar o segredo. Para isso, Roberto e María vão para a caverna. Maria concorda em seguir o caminho A ou B.

Ambos os caminhos se comunicam apenas pela porta mágica. Nesse momento, Roberto espera que Maria passe por A ou B enquanto a espera na entrada da caverna.

Caverna de conhecimento zero do ZKP Ali Baba
  • A certa altura, Roberto pede a Maria que vá para A ou B.
  • Se Maria não conhecia as palavras mágicas, ela não poderia abrir a porta mágica. O que significa que você não pode seguir o caminho escolhido por Roberto.
  • Isso reduz para 50% a probabilidade que você escolheu em uma primeira tentativa, o caminho correto escolhido posteriormente por Roberto.
  • A repetição desse esquema em várias ocasiões serve para determinar que Maria realmente conhece as palavras mágicas para abrir a porta, mas em nenhum momento ela as disse a Roberto.

Características de um método do protocolo zero conhecimento

Um protocolo é chamado de Zero Knowledge Test (ZKP), se conseguir atender a esses três requisitos:

  1. Integridade e integridade. Supõe-se que as duas partes envolvidas (o testador e o verificador) são honestas e seguirão o protocolo. Isso significa que, se um testador fornecer uma declaração, o verificador será efetivamente convencido por ele.
  2. Sólido e robusto. O protocolo deve assumir que a honestidade é pequena ou nula. Portanto, para provar que o testador realmente tem um segredo, o verificador deve ser convencido. Tudo isso minimizando as chances de enganar com êxito o verificador.
  3. Zero conhecimento. Isso significa que, se a afirmação for verdadeira, nenhum verificador de trapaceiro poderá saber mais que esse fato.

A conformidade com esses três requisitos é essencial para que um protocolo cumpra as "zero conhecimento". Caso não seja possível, o protocolo não pode ser chamado dessa maneira, pois não garante o anonimato.

Alem disso, o protocolo deve garantir uma fonte de aleatoriedade segura. A justificativa é dada porque o gerar números aleatórios é outra condição necessária para o bom funcionamento do mesmo.

 

Protocolo de Conhecimento Zero, ZKP, que é zkp, que é protocolo de conhecimento zero, como funciona o zkp, como funciona o protocolo de conhecimento zero

Casos de uso da tecnologia ZKP

Graças à enorme capacidade de anonimato, privacidade e segurança desse tipo de protocolo, seus principais casos de uso apontam para a segurança dos sistemas de comunicação. Por exemplo, as organizações militares e espiões usam esse tipo de tecnologia para proteger as comunicações. Isso para permitir a implantação no campo de sistemas de comunicação muito seguros. Eles também são amplamente utilizados em sistemas de autenticação, mesmo via web.

A tecnologia também tem amplos usos em sistemas de votação seguros. Com o ZKP, é possível que o eleitor possa fazer seu voto, mostrar que votou, mas de maneira alguma alguém pode saber em qual opção ele votou. Dessa forma, o ZKP pode ajudar os sistemas de votação a manter o sigilo da votação e a fornecer transparência a esses sistemas.

Outro caso de uso amplamente visto hoje é em criptomoedas, como o caso de Zcash y monero. Ambas as criptomoedas implementam o uso do Zero Knowledge Protocol. Como esperado, o objetivo é garantir a privacidade e o anonimato de seus usuários.

No caso da Zcash, seu sistema de teste zk-SNARKs é baseado na operação do ZKP. Destes, há uma evolução sob o nome zk-STARK que apresentam melhores características em termos de segurança e desempenho, principalmente resistência à computação quântica. Por sua vez, Monero e sua À prova de bala também são uma adaptação do ZKP e Transações Confidenciais, o que também oferece um alto nível de segurança.

Quanto você sabe, cryptonuta?

Os protocolos de zero conhecimento só podem ser aplicados em casos especiais?

FALSO!

Os Protocolos de Conhecimento Zero podem ser aplicados a qualquer sistema informático, desde que respeitem as suas três características básicas: robustez, solidez e conhecimento zero.

Vantagens e desvantagens dos sistemas ZKP

Vantagens

  1. Um sistema com ZKP implementado oferece altos níveis de segurança, Privacidade y anonimato, porque não requer a revelação de nenhum segredo.
  2. La lógica De sistema es simples e não requer a criação de novos sistemas criptográficos para sua aplicabilidade.

Desvantagens

  1. Um sistema com implementação de ZKP é limitado usar Valores numérico.
  2. Acontece computacionalmente caro em comparação com outros sistemas de criptografia.
  3. Não resolver o problema de transmissão proteger de informação. É porque é vulnerável frente para uma tercero que podem interceptar a transmissão, modificando ou destruindo a mensagem.
  4. A implementação e revisão algorítmica desses sistemas é complexa, além de ser uma área dominada por pouquíssimas pessoas em todo o mundo. Isso tem como principal problema a baixa capacidade de melhorar o sistema e depurá-lo.