O que é ZKP? Um Guia Completo Sobre Prova de Zero Conhecimento

0

O problema da privacidade no mundo digital acompanha o desenvolvimento das pesquisas feitas por empresas que desejam se beneficiar desta imensidão de dados existentes na rede.

Apesar de muito inovadora, a blockchain não surge para controlar este problema integralmente. Porém a blockchain com todo seu ferramental e sua descentralização como característica podem dar uma forcinha para que uma nova tecnologia surja para sanar este problema. E é dela que vamos falar hoje!

Nomeada de “zero knowledge proof – ZKP” ou “Prova de Zero Conhecimento” é a tecnologia que veio para combater este mal das redes. A estrutura criptográfica da Prova Zero Conhecimento é um novo protocolo que permite adicionar um nível mais alto de segurança para seus dados. Mas, o quão bom ela é para nossa realidade? E será que ela será capaz de resolver este problema de privacidade da rede?

Blockchain Certification Course

INFOGRÁFICO do ZKP

 

ZKP: PROVA DE ZERO CONHECIMENTO

Vamos mergulhar profundamente neste guia de Prova de Zero Conhecimento.

Tabela De Conteúdo

Capítulo-1: Diferentes Maneiras de Encadear uma Blockchain
Capítulo-2: O que é prova de Zero Conhecimento?
Capítulo-3: Como funciona a Prova de Zero Conhecimento? 
Capítulo-4: Prova de Zero Conhecimento InterativoI
Capítulo-5: Prova de Zero Conhecimento Não-Interativo
Capítulo-6: Prova de Zero Conhecimento por: zk -SNARKS
Capítulo-7: Empresas que Utilizam Criptografia de Zero Conhecimento
Capítulo-8: Onde você pode usar o ZKP?
Capítulo-9: Implementando Arquitetura de Prova de Zero Conhecimento
Capítulo-10: Conclusão

 

Capítulo 1: Diferentes Maneiras de Encadear uma Blockchain

Normalmente blockchain é apenas um banco de dados compartilhado, onde você mantem o saldo de criptomoeda, ou outro ativo digital, de terceiros. Porém existem blockchains que podem trabalhar um pouco diferente das demais.

Por exemplo, você verá que existem metadados em bitcoin e em outras lógicas contratuais no Ethereum. Em qualquer caso, as blockchains, principalmente as blockchains privadas, oferecem dois grandes exemplos desta aplicação.

  • Possuir ativos externos, representados por tokens na rede. Um usuário também pode transferir ativos externos usando os tokens.
  • Aumentar a privacidade no âmbito do gerenciamento, distribuição e armazenamento geral dos dados.

Não estou dizendo que toda blockchain privada oferece estas duas características. Mas as blockchains tipicamente privadas podem ser mais adequados para empresas, o que requer confidencialidade e privacidade adicionais.

Em relação ao armazenamento de dados gerais, a blockchain de fato atende a muitos serviços. Primeiro, ela precisa provar de onde os dados estão vindo, então marcar seu timestamp e torná-lo imutável para que ninguém possa alterá-lo.

No entanto, a blockchain não tem nada a dizer sobre a informação em si. Assim, cada aplicação pode decidir o que os dados podem realmente representar ou se são realmente válidos ou não. Quaisquer dados incorretos podem ser removidos ou ignorados no nível da aplicação sem qualquer interrupção adicional na própria rede.

Portanto, se as blockchains quiserem transferir qualquer tipo de ativo, ele precisa oferecer regras internas sobre o processo de validação dessas transações. Isso é algo que a blockchain não tem desde o início.

 

Será Que Conseguirá Manter a Privacidade?

Por exemplo, talvez você queira enviar 50 dólares para seu amigo Luiz. Mas antes que sua transação seja aprovada, a rede precisa saber se você realmente tem 50 dólares em sua posse. Embora muitas blockchains sigam essa regra de forma diferente entre si, ainda assim, em todos os casos, todos na rede precisam saber que você possui 50 dólares.

Blockchain Certification Course

Isso ajuda a manter a validade de seus ativos junto com o de Luiz quando ele receber seu dinheiro. No entanto, você estará sacrificando sua privacidade por causa deste processo de validação.

Mas há uma pegadinha. Na blockchain, você não terá um nome de identificação regular, como Luiz. Em vez disso, você obterá endereços para transações e todos esses endereços serão um fluxo de strings que não tem semelhanças com o mundo real.

Mesmo até que essas informações sejam precisas, isso ainda não altera o cenário. Por quê? Basicamente, ainda existe diversas maneiras de descobrir conexões entre dois usuários e descobrir seus endereços.

 

Como isso é feito

No início, se um usuário quiser transacionar ou enviar recursos para a cadeia, ele precisará saber o endereço. Então, quando você envia o dinheiro, você pode ver qual endereço ele está indo. Por outro lado, se alguém lhe pagar, você poderá ver de onde ele vem.

Se um usuário conhece alguma informação sobre outro usuário do mundo real, ele pode facilmente rastrear e descobrir qual endereço o outro está usando. Obviamente, eles podem pesquisar através da blockchain e descobrir com base em sua atividade.

Sim, é demorado, mas não é impossível saber. É por isso que ter endereços em vez de nomes não ajuda a preservar a privacidade da rede.

 

Somente criptografia será suficiente?

O conceito de privacidade e informações confidenciais está intimamente relacionado à criptografia. Se você está pensando em armazenar apenas dados gerais sobre a blockchain, então podemos definitivamente fazer isso. Nesse caso, ainda poderíamos obter preservação de dados, imutabilidade e registros de data e hora.

Como nenhum deles tem nada a ver com o tipo de dados, você ainda poderá usar o registro distribuído para armazenar quaisquer dados legíveis. Mas você ainda precisaria confiar nos outros para validar sua existência para ajudar a criar o bloco em primeiro lugar. Então, é o mesmo processo de antes.

No entanto, você não pode usar esse tipo de criptografia para transações que significam qualquer transferência de ativos tokenizados. Se você e Luiz criptografam suas transações, ninguém na cadeia pode usar o recurso com segurança. Isto se deve porque todo mundo não pode ter certeza de onde está a localização exata dos ativos.

O ativo em questão perderia seu valor no registro, portanto, a criptografia, pura e una, não pode ser a resposta.

 

Um conflito entre liquidez e privacidade

Agora você pode ver que, se quisermos usar blockchain para fins financeiros, você sempre enfrentará um conflito entre esses dois. Muitas startups estão enfrentando esse problema agora quando lidam com ativos.

Mesmo que exista muitos projetos-piloto simulando o processo da blockchain, a verdade é que na pratica, ainda não são eficientes. O processo requer muita cooperação e assim, acaba revelando os dois endereços que estão tentando transacionar seus ativos.

É assim que as informações vazam. Atualmente este é um dos principais problemas da rede que ainda não pensou em alguma solução viável para isso.

Agora, muitas startups fazem suas transações “off-chain” em vez de “on-chain”, onde podem criptografar e ter a privacidade. Mas blockchain tem muito a oferecer, e assentamentos em cadeia com privacidade poderiam levar as finanças mundiais a uma altura diferente.

Entre todos esses conflitos, acho que finalmente temos a solução que estamos procurando – A Prova de Zero Conhecimento.

 

Capítulo 2: O que é a Prova de Zero Conhecimento?

O conceito por trás da prova do zero conhecimento é de fato único. Uma prova de zero conhecimento é um método exclusivo onde um usuário pode provar a outro usuário que ele conhece um valor absoluto, sem transmitir informações adicionais.

Aqui, o provador pode provar que ele conhece o valor z para o verificador sem lhe dar nenhuma informação além do fato de ele saber o valor de z.

A principal essência por trás desse conceito é provar a posse de conhecimento sem revelá-lo. O principal desafio aqui é mostrar que você conhece um valor “x” sem dizer o que “x” é ou qualquer outra informação.

Parece difícil? Bem, não é tão difícil.

Se um usuário quiser provar uma declaração, ele deverá conhecer as informações secretas. Desta forma, o verificador não seria capaz de transmitir as informações para outras pessoas sem realmente saber as informações secretas.

Assim, a declaração sempre precisará incluir que o provador conheça o conhecimento, mas não a informação em si. Com isso, você não pode dizer o valor de “x”, mas pode afirmar que você conhece “x”. Aqui, “x” poderia significar qualquer coisa.

Essa é a estratégia central da aplicação da Prova de Zero Conhecimento. Caso contrário, eles não serão aplicações com Prova de Zero Conhecimento. É por isso que os especialistas consideram as aplicações da Prova de Zero Conhecimento como um caso especial em que não há nenhuma chance de transmitir qualquer informação secreta.

 

Propriedades da Prova de Zero Conhecimento

A prova de Zero Conhecimento precisa ter três propriedades diferentes para ser totalmente executada. São Elas:

  • Integralidade: Se a afirmação for realmente verdadeira e ambos os usuários seguirem as regras corretamente, o verificador qualificará a transação sem qualquer ajuda externa.
  • Solidez: Caso a declaração seja falsa, o verificador não permitirá que a transação aconteça em nenhum cenário. (O método é verificado para garantir que a probabilidade de falsidade seja igual a zero)
  • Zero Conhecimento: O verificador não guarda nenhuma informação.

 

Os pesquisadores estão investigando o processo para serem mais precisos e garantir que ele exija menos interações entre os dois pares. O objetivo principal é eliminar a quantidade de comunicação e passar para uma declaração de referência comum para garantir a privacidade.

Aplicações da Prova Zero Conhecimento vêm ganhando popularidade já há algum tempo. Mas está ideia não surgiu recentemente. Ela existe há cerca mais de 20 anos. Os pesquisadores apenas melhoraram seu conceito e a eficiência do sistema.

Agora, provar uma afirmação é super fácil e altamente eficiente. Agora ele pode interagir com os todos através da blockchain.

 

Capítulo 3: Como funciona a Prova de Zero Conhecimento?

As aplicações da Prova de Zero Conhecimento soam como um questionário exclusivo, distante dos olhos da comunidade blockchain. Ademais, muitos de vocês devem estar se perguntando como você prova sua afirmação sem realmente transmitir a informação. Vamos explicar estes pontos com dois bons exemplos.

Vamos lá.

Primeiro Exemplo: A Caverna Ali-Baba

Esse é um dos cenários favoritos para investigar adequadamente como funciona a autenticação de Prova de Zero Conhecimento. Aqui a trocadora será chamada de Jasmin, e o verificador será Aladin.

Assim, para manter as coisas no mesmo nível que a autenticação à prova de zero conhecimento, o provador saberia um valor “x”, e o verificador saberia que o provador conhece o valor “x” e nada a mais.

O exemplo começa assim, imagine que Jasmin de alguma forma conhece uma palavra-chave que pode abrir uma porta mágica dentro da caverna de Ali-Baba. A caverna possui dois caminhos que estão conectados entre si, porém separados pela porta mágica. Ah, e a entrada e a saída são o mesmo local.

Agora, Aladin quer ter certeza de que Jasmin está dizendo a verdade. Para isso, ela terá de dizer a palavra secreta. Mas Jasmin é uma pessoa muito conservadora e não está disposta a dizer a palavra mágica para qualquer um. Então, como o Aladin irá saber se ela está dizendo a verdade ou não?’

 

Um esquema diferente

É aí que Aladin surge com um plano para resolver esta situação. Ele marca o caminho: “Da entrada A, para o caminho de saída B”. No entanto, como eles se encontram na mesma posição, o caminho A e B são apenas um caminho circular na caverna. Durante esta fase, Aladin fica de fora, enquanto Jasmin entra na caverna.

Jasmin agora tem a opção de pegar o caminho A ou B, mas seja lá qual caminho ela tome, Aladin não saberá disso. Depois que Jasmin toma seu caminho, Aladin entra na caverna. Ele então grita o nome do caminho onde ele quer que Jasmin retorne. Ele pode selecionar aleatoriamente: A ou B.

Ai, se ela realmente souber a palavra-chave, isso será muito fácil. Ela poderá usar essa palavra-chave para abrir a porta e voltar para Aladin. Ou ela também pode retornar no mesmo caminho, se necessário.

Suponha que Jasmin não conheça realmente a palavra-chave. Nesse caso, ela só seria capaz de retornar a Aladin, se Aladin gritasse o nome do caminho que escolheu no início. Como o processo de seleção é aleatório, Jasmin teria 50% de chance de seguir as instruções do Aladin. Mas se Aladin repete esse processo, digamos 15 vezes ou 25 vezes, Jasmin não seria capaz de fazer um palpite de sorte para enganá-lo.

Caso Jasmin deseja tentar enganar Aladin, cada vez que o processo se repete as chances de ela sair vitoriosa são reduzidas. Chega um ponto da probabilidade que a chance de Aladin ser enganado é muito próximo de zero e Jasmin será pega.

Mas, mesmo depois de repetir esse processo tantas vezes, Jasmin consegue voltar para onde Aladin quer que ela esteja; então Aladin pode avaliar com segurança que ela conhece a palavra secreta.

 

O que acontece na visão de terceiros?

Normalmente, se um terceiro está assistindo a essa situação, o Aladin teria que ter uma câmera escondida para registrar a transação. No entanto, a câmera só seria capaz de gravar o que Aladin está gritando – poderia ser A ou B. Embora também registrasse Jasmin aparecendo em B quando ele grita B ou aparecendo em A quando ele grita A.

Essa gravação pode ser manipulada se as duas pessoas concordarem com isso de antemão. É por isso que nenhum terceiro estaria convencido com esses registros de que Jasmin realmente conhece a palavra secreta. Se alguém observar o experimento da caverna, ele também não ficará convencido.

Então, como eles provam a integridade do experimento?

Se Aladin virar uma moeda e escolher o caminho com base nisso, a autenticação à prova de zero conhecimento perderá sua propriedade. Mas a moeda seria convincente o suficiente para qualquer observador de terceiros para verificar que Jasmin conhece a palavra.

Desta forma, Aladin seria capaz de provar a integridade do experimento sem conhecer a palavra. Mas como eu disse anteriormente, não será totalmente uma prova de zero conhecimento.

Na criptografia digital, Aladin pode jogar moedas usando um gerador de números aleatórios que tenha alguns padrões fixos como a moeda. Mas se a moeda de Aladin se comporta como um gerador de números, ele e Jasmin poderiam ter falsificado a experiência novamente.

Assim, mesmo com um gerador de números, não será tão eficiente quanto o simples lançamento de moedas.

 

Apenas um único teste

Você notou que Jasmin poderia facilmente provar que ela sabe a palavra sem dizer a palavra na primeira tentativa? Nesse caso, Jasmin e Aladin precisam entrar na caverna ao mesmo tempo. Aladin poderia ver Jasmin passar por A e sair B, sem revelar a palavra.

Mas esse tipo de prova convenceria qualquer um. Então Jasmin não quer que ninguém mais saiba sobre isso, ela não pode dizer que conspirou com Aladin. Porque ela nem sabe quem sabe sobre seu conhecimento e como controlá-lo.

 

Segundo Exemplo: Um amigo daltônico e duas bolas

Este tipo de experiência para autenticação à prova de zero conhecimento exigiria duas bolas do mesmo tamanho, mas com cores diferentes. O experimento é muito popular. Mike Hearn e Konstantinos Chalkias apresentaram este novo método. Você também pode fazer essa experiência usando dois cartões coloridos.

É assim, imagine que você tenha um amigo daltônico e duas bolas. As bolas precisam ser vermelhas e verdes e do mesmo tamanho. Seu amigo acha que eles são a mesma coisa e está duvidando da sua afirmação de que eles são diferentes.

Então, você precisa provar que eles têm cores diferentes sem dizer a ele qual é qual.

Você dá as bolas para o seu amigo e ele as mantém escondidas atrás das costas. Depois disso, ele traz uma bola aleatoriamente e permite que você a veja. Ele então coloca a bola de volta e então escolhe aleatoriamente a bola novamente.

Você consegue ver a bola desta vez também. Depois disso, ele perguntaria se ele trocou a bola ou não. Ele estará repetindo esse processo por algum tempo para ter certeza.

Agora, você que não é daltônico, pode definitivamente dizer se ele trocou a bola ou não. Se as bolas fossem da mesma cor, sua probabilidade de responder corretamente seria de 50%. Então, depois de repetir este processo e quando você puder responder a cada vez corretamente, seu amigo estaria convencido.

A probabilidade de antecipação se tornaria zero e você alcançaria as três propriedades de zero conhecimento.

Mas certifique-se de que seu amigo não saiba qual é o verde e qual é o vermelho. Desta forma, você será capaz de preservar a terceira propriedade de “zero conhecimento”.

 

Capítulo 4: Prova de Zero Conhecimento Interativo

A criptografia de zero conhecimento pode ser de dois tipos:

  • Prova interativa de zero conhecimento.
  • Prova de zero conhecimento não interativo.

Vamos ver o que eles são.

 

Prova de Zero Conhecimento Interativo

Esse tipo de autenticação à prova de zero conhecimento exigiria interações entre pares ou qualquer sistema de computador. Ao interagir, o provador pode comprovar o conhecimento e o validador pode validá-lo.

Este é o cenário mais típico de blockchain de prova de zero conhecimento. Aqui, você estaria provando sem revelar o entendimento. Mas você também está revelando para o usuário com quem você está interagindo. Então, se alguém está apenas observando vocês dois, ele não poderá verificar seu conhecimento.

Embora seja um dos melhores protocolos de privacidade, ainda requer muitos esforços quando você quer provar para mais de uma pessoa. Isso é porque você teria que repetir o mesmo processo repetidamente para cada pessoa, apenas observando que eles não podem concordar com você.

Este protocolo precisaria de qualquer tipo de resposta interativa do verificador para executar. Ou então, o provador nunca poderá provar isso por conta própria. A entrada interativa pode ser uma forma de desafio ou outro tipo de experimentos. Obviamente, o processo tem que convencer o verificador sobre o conhecimento.

Em outros casos, o verificador pode gravar o processo e depois reproduzi-lo para outro, para que também possa vê-lo. Mas se outras pessoas realmente seriam convencidas ou não, depende apenas delas. Eles podem aceitar ou não.

É por isso que blockchain sob prova de zero conhecimento interativo é mais eficiente para poucos participantes, em vez de um grande grupo.

 

Capítulo 5: Prova de Zero Conhecimento Não-Interativo

A blockchain não interativo de prova de zero conhecimento está aqui para verificar a declaração de alguém para um grupo maior de pessoas. Você nem sempre tem que ir para a blockchain de prova de zero conhecimento não interativo para verificar embora. Muitas vezes, você pode encontrar qualquer fonte de verificação confiável que possa atestar você.

Mas quando você não consegue encontrar ninguém, então a blockchain não interativo de prova de zero conhecimento é o caminho a percorrer.

 

O desafio do Sudoku com cartas

Sudoku é um dos jogos mais difíceis, mas com regras simples. Todas as linhas, setores e colunas precisam ter o número 1-9 apenas uma vez.

Nesse caso, imagine que você conhece a solução desse quebra-cabeça, que pode levar dias até mesmo para computadores. Então, se você quer vender a solução, como o verificador saberá que você não está enganando-o? Você teria que provar seu conhecimento sem revelar a solução para o verificador.

Vamos ver como você pode fazer isso.

 

Uma maneira de resolver

Você precisaria de 27 cartões onde eles são numerados de 1-9. Então, 27 cartões conteriam o número 1 e depois outros 27 o número 2. No total, você precisaria de 243 cartões.

Agora você teria que colocar três cartas em uma caixa correspondente com a solução. Ou seja, se o número correto para essa caixa for cinco, você colocará três números 5 na caixa.

Em uma tabela de Sudoku, você vê algumas respostas sempre visíveis. Nestas caixas, você colocará a placa com a face para cima. Nas caixas que não tiverem resposta, você colocará as cartas de cabeça para baixo.

Agora você precisa provar que colocou todas as cartas na posição correta sem revelá-las. Você tem que:

Pegue a carta mais alta de cada coluna até ter nove pilhas. Repita a mesma coisa para linhas e setores.

Então você precisaria embaralhar cada pilha e depois virar para revelar os números.

Você conhece a regra básica, todos os números de 1 a 9 precisam aparecer uma vez em cada linha, setor e coluna. Portanto, se toda a sua pilha tiver o número 1-9 aparecendo apenas uma vez, o verificador saberá que você tem a solução.

Truque muito legal, certo?

Não interativo pode ser a melhor maneira de provar sua declaração para muitas pessoas sem aumentar os recursos e o custo.

 

Capítulo 6: Prova de Zero Conhecimento por: zk-SNARKS

Você deve ter ouvido falar do zk-SNARKS correto? Você já se perguntou o que ele realmente é? Bem, o zk-SNARKS é uma tecnologia que usa o conceito de exemplo não interativo da prova de zero conhecimento. A Zcash utiliza essa forma de criptografia para garantir uma melhor privacidade.

Na verdade, é um acrônimo para Zero-Knowledge, que inglês fica: “Non-Interactive rRgument of Knowledge”.

Esta tecnologia consiste em três algoritmos diferentes:

  • Key Generator: O gerador de chaves configura um parâmetro para gerar um par de chaves. Aqui, uma fonte confiável pode gerar um par de chaves privado ou público e depois destruir a parte privada. Depois disso, usando a parte pública gerou outro par de chaves. Aqui, um seria usado para provar outro para verificar.
  • Prover: O Provedor tem que tomar a chave de prova e alguma entrada pública para provar seu conhecimento. Aqui, ele será testemunha privada e depois satisfará o contexto para provar seu ponto de vista.
  • Verificador: a verificação precisaria da chave de verificação para garantir que a declaração seja verdadeira ou falsa. Ele tem que receber a opinião pública e a prova para avaliar se é verdadeira ou falsa.

 

Além desses três, o zk-SNARKS também precisa manter:

  • Zero conhecimento: O verificador não aprenderia nada além do fato de que a afirmação é verdadeira. Resumindo: Qualquer que seja o desafio, ele precisa ser realmente pequeno para que se possa provar em poucos milissegundos.
  • Não interativo: o usuário só enviaria o estame para o verificador e nada mais. O verificador não poderá interagir mais com o provador.
  • Argumento: A prova manteria a solidez da criptografia de zero conhecimento e seria limitada pelo tempo polinomial.
  • Verificador: O Provedor e Verificador não podem executar o processo sem uma testemunha confiável.

 

Capítulo 7: Empresas que Utilizam Criptografia de Zero conhecimento

Agora que você sabe tudo sobre a prova do zero conhecimento, vamos dar uma olhada em algumas das empresas famosas que usam esse protocolo.

 

Projetos notáveis

  • Zcash

A maior parte da plataforma blockchain expõe as transações entre dois pares. Não é apenas uma das desvantagens da blockchain, mas também está atrapalhando seu crescimento. Zcash, por outro lado, pode fornecer total privacidade quando se trata de transações.

É uma plataforma blockchain de código aberto e sem permissão que utiliza a essência da prova de zero conhecimento. O processo de transação é protegido. Então, ele encontrará o valor, o remetente e o destinatário na blockchain.

Também é famoso por introduzir o zk-SNARKS e depois disso muitos seguiram seu caminho.

 

  • ING

O ING é um banco com sede na Holanda que iniciou sua nova blockchain de zero conhecimento. Embora eles lançaram um pouco de uma versão modificada do sistema de zero conhecimento é chamado de prova de intervalo de zero conhecimento. Com isso, eles exigem muito menos poder computacional do que o necessário.

Está diretamente relacionado ao setor financeiro, como o valor da hipoteca. Você será capaz de provar que você tem o salário para obter uma hipoteca sem revelar seu salário.

Atualmente, é de código aberto, mas é um desafio considerável para outras blockchains financeiras.

 

  • PIVX

Esta empresa quer mudar as formas típicas que o mundo funciona. Em um sistema onde tudo é controlado e gerenciado por outros, a PIVX pretende introduzir um paraíso seguro para suas demonstrações financeiras. Eles estão trabalhando em uma nova integração na qual seguirão o exemplo da prova de zero conhecimento.

Aqui, a única coisa que seria pública é a confirmação do dinheiro enviado. Ou seja, você veria que alguém enviava dinheiro, mas o endereço ou a quantidade de tempo seriam ocultados. A PIVX garante uma taxa de transação mais rápida com sua nova integração com o aprimoramento adicional da privacidade.

 

  • Zcoin

A empresa utiliza o protocolo Zerocoin para fornecer segurança extra e transações completamente anônimas. O protocolo Zerocoin obviamente segue o conceito de exemplo de prova de zero conhecimento. No entanto, o que mais o Zcoin oferece é a escalabilidade que muitas redes blockchain não possuem.

Aqui, com o uso do Zcoin, você poderá preservar sua identidade ao máximo e o que você está gastando na rede. É uma ótima maneira de proteger a fungibilidade.

Mas não confunda com Zcash. Eles têm protocolos diferentes e definitivamente não são garfos um do outro.

 

Fornecedores notáveis

  • StarkWare

A StarkWare é outra grande empresa que utiliza o exemplo à prova de zero conhecimento da tecnologia ao máximo. Mas eles parecem distorcer o típico protocolo SNARKs. Em vez de SNARKs, eles usam a tecnologia STARK.

O StarkWare visa melhorar o problema de privacidade e escalabilidade da blockchain com um método de transação transparente. Atualmente, eles estão desenvolvendo o suporte de hardware e software para garantir uma melhor saída de sua tecnologia STARK.

Esta nova tecnologia eliminará o problema de inflação oculta, que removerá a configuração confiável. zkSTARK é o acrônimo para Zero Knowledge Scalable Transparent Argument of Knowledge. No entanto, mesmo que a inflamação oculta tenha desaparecido, ela ainda será resistente quântica.

Essa nova tecnologia da STARK poderia ser a próxima etapa dos SNARKs. Saiba mais sobre o StarkWare aqui.

 

  • QED-it

Esta é uma das startups que utiliza prova de zero conhecimento para fornecer segurança. QED – é uma empresa israelense que é capaz de manipular dados confidenciais sem o olho de terceiros. Você pode integrar em seu sistema para melhor gerenciamento de dados.

Alguns de seus clientes populares incluem BNP Paribas e Deloitte. O objetivo principal é proporcionar privacidade às empresas. Nos últimos dois anos, eles aprimoraram seu projeto, desenvolvendo novos sistemas SNARK que podem lidar com qualquer situação.

Alguns de seus casos de uso são uma avaliação de risco em tempo real, cadeia de suprimentos, gerenciamento de ativos, manutenção preditiva e muito mais.

 

Capítulo 8: Onde você pode usar o ZKP?

Os casos de uso de prova de conhecimento ZKP ou zero precisam ser capazes de trabalhar com criptografia e dispositivos confiáveis. Em comparação com outros dispositivos, o celular parece ser a escolha correta aqui. Eles oferecem um ambiente de tempo de execução seguro em comparação aos navegadores. No entanto, ainda não está fora de risco.

Mas a questão principal é onde você pode utilizar casos de uso com prova de zero conhecimento?

  • Mensagens

Em mensagens, a criptografia de ponta a ponta é necessária. Assim, ninguém pode ler suas mensagens privadas sem o próprio cliente. Dois usuários precisam verificar sua confiança no servidor e vice-versa. Por outro lado, o ZKP fornece essa confiança de ponta a ponta, sem vazar nenhuma informação extra. Com a ajuda do ZKP, ninguém mais conseguiria invadir sua mensagem.

Esse é um dos casos de uso com prova de zero conhecimento.

  • Autenticação

A prova de zero conhecimento pode ajudar a transmitir informações confidenciais, como informações de autenticação, com segurança extra. Aqui, o ZKP pode manter um canal seguro para o usuário usar suas informações de autenticação sem expô-lo. Assim, ele seria capaz de evitar com eficiência o vazamento de dados.

  • Compartilhando dados

Compartilhar dados pela Internet sem um olho de terceiros é excepcionalmente crucial. Quando você compartilha algo na rede, não importa o quão protetores eles afirmem ser, sempre há alguns riscos.

Alguém pode sempre invadir ou interceptar entre o compartilhamento de informações – é aí que o ZKP definitivamente pode ajudar.

Este é outro grande dos casos de uso de provas de zero conhecimento.

  • Segurança para informações confidenciais (informações de cartão de crédito)

Informações confidenciais, como extratos bancários ou informações de cartão de crédito, precisam de um nível adicional de proteção. O banco preserva o histórico do cartão de crédito. No entanto, quando você solicita as informações deles, é necessário se comunicar com o servidor.

Mesmo que os bancos passem por uma linha segura, o histórico de cartões de crédito ainda é muito mais sensível do que os dados médios. Nesse caso, não apenas criptografando toda a informação como uma, mas bloqueando, os bancos podem fornecer uma segurança melhor.

Como os bancos manipulariam apenas os blocos necessários sem tocar em outros blocos, seu histórico obterá a quantidade certa de camada de segurança. E o ZKP pode fornecer isso.

  • Documentação Complexa

O ZKP pode restringir qualquer usuário de acessar a documentação complexa que ele não está autorizado a ver. Como o ZKP é capaz de criptografar os dados em blocos, você só terá que manipular certos blocos para dar acesso a restringir o acesso a outros usuários.

Dessa forma, pessoas não autorizadas não poderão ver seus documentos.

  • Proteção de Armazenamento

Pode fornecer maior proteção para o seu utilitário de armazenamento. O ZKP está equipado com o protocolo para manter os hackers afastados. Com isso, não apenas a unidade de armazenamento, mas as informações contidas nela também serão criptografadas. Sem mencionar que o canal de acesso também será excessivamente protegido.

  • Controle do sistema de arquivos

Tudo dentro de um sistema de arquivos pode ser protegido pelo protocolo de prova de zero conhecimento. Os arquivos, os usuários e até mesmo todo login podem ter diferentes camadas de segurança. Portanto, pode ser um ótimo caso de uso quando necessário.

Todos esses casos de uso com prova de zero conhecimento podem ser usados ​​no cenário da vida real.

 

Capítulo 9: Implementando Arquitetura de Prova de Zero Conhecimento

Antes de você querer a implementação de provas de zero conhecimento, você precisa saber no que este se baseia.

Processo de Empacotamento Chave

O ZKP divide um único fluxo de dados em pequenos blocos. Cada um desses blocos é criptografado separadamente. Na implementação sem comprovação de conhecimento, a chave para criptografar estará apenas no usuário e, com isso, ele poderá criptografar e descriptografar as informações.

 

Gerenciando Privilégios

As chaves serão armazenadas em contêineres. Mas se um usuário quiser alterar a chave de armazenamento, ele deverá comparar sua tag de propriedade. Se eles combinarem, então ele poderá mudá-lo, e se não o fizerem, ele permanecerá intocado.

 

Controlando solicitações

Você deve se certificar de que ninguém pode apenas adicionar textos dentro de sua implementação à prova de zero conhecimento. Como os usuários só poderão acessá-lo na rede blockchain, você precisa converter cada operação em comandos da API.

Desta forma, ninguém seria capaz de contornar suas medidas de segurança.

 

Mitigar todos os ataques

A blockchain não é uma rede perfeita. Mesmo que diminua a quantidade de ataques, não se livrar totalmente disso. Então, quando você integra o ZKP em um sistema, junte-o a outras medidas. Dessa forma, você se livrará dos ataques restantes que poderiam prejudicar a rede. A implementação de prova de zero conhecimento requer que esses métodos funcionem corretamente.

 

O sistema de Zero Conhecimento é importante?

Prova de zero conhecimento, explicada de longe, tem se mostrado capaz de lidar com empresas de nível empresarial. Nem todo mundo é fã do sistema de contabilidade pública onde todos podem ver suas transações. Sim, você obtém o anonimato com a ajuda de endereços, mas ainda assim, as pessoas podem rastrear endereços também.

Além disso, quando se trata de armazenar informações adicionais, blockchain não é a melhor ideia. As empresas lidam com muitas informações privadas e o protocolo de privacidade existente não é suficiente.

Provas de zero conhecimento explicadas apenas podem melhorar a blockchain, mas também podem se livrar de todos os problemas negativos. Muitas empresas não estão interessadas em blockchain, embora; é uma bela invenção. Mas com a ajuda da prova de zero conhecimento, agora todos podem começar a utilizá-lo.

Então, a resposta seria sim, o sistema de zero conhecimento é, sem dúvida, um fator importante em relação a blockchain.

 

Capítulo 10: Conclusão

Blockchain vem com seu próprio conjunto de méritos e deméritos. Mesmo que a princípio parecesse bastante promissor, mas de fato tem muita bagagem. Essas falhas estão retardando o crescimento dessa tecnologia maravilhosa.

No entanto, com a introdução do sistema de zero conhecimento – o cavaleiro de armadura brilhante, as coisas começaram a mudar. Agora blockchain pode ser a plataforma super protetora que todos esperavam.

Vamos ver como a prova de zero conhecimento e blockchain muda o mundo.


About Author

Olá, sou o Lucas! Graduando em Engenharia de Computação pela UNIFEI - Universidade Federal de Itajubá. Apaixonado por tecnologia e desenvolvedor mobile com foco em Android nativo. Trabalho como freelancer nas horas vagas e sempre em busca de novos desafios.

Leave A Reply