Como você verifica as informações sem compartilhar o acesso? Este é o desafio que as provas de conhecimento zero estão tentando resolver.
A prova de conhecimento zero (ZKP) está ganhando muita popularidade ultimamente para vários propósitos. Permite a verificação da informação sem revelar os dados subjacentes, oferecendo assim um maior grau de segurança e privacidade às informações sensíveis.
Mas o que é exatamente uma prova de conhecimento zero, como ela funciona e quais são os casos de uso de um sistema de prova de conhecimento zero? Vamos descobrir.
O que é uma prova de conhecimento zero?
Goldwasser, Micali e Rackoff propuseram provas de conhecimento zero em seu artigo "A Complexidade de Conhecimento de Sistemas de Provas Interativas."
Em um sistema de prova de conhecimento zero, uma parte (provador) tem que provar a outra parte (verificador) que um declaração específica é verdadeira sem revelar nenhuma informação adicional, exceto que a frase é verdadeiro. Isso é feito apresentando uma quantidade mínima de informações ao verificador para que ele possa confirmar que a afirmação é realmente verdadeira.
Por exemplo, Paul quer que Anita prove seu conhecimento do código de uma porta mágica secreta que conecta dois caminhos (A e B) dentro de uma caverna. Anita passa pela porta várias vezes, começando pelo Caminho A e saindo pelo Caminho B, enquanto Paul permanece do lado de fora.
Ao repetir essa façanha várias vezes, Anita prova que conhece o código para abrir a porta mágica dentro da caverna sem revelar o código a Paul.
Como funciona uma prova de conhecimento zero?
As provas de conhecimento zero funcionam fazendo com que o provador e o verificador executem uma série de interações. Essas interações geralmente envolvem várias rodadas de comunicação. Durante cada interação, o provador constrói uma prova que suporta a veracidade da declaração do provador.
O verificador geralmente cria vários desafios relacionados à declaração que está sendo comprovada. E o provador responde a cada vez com provas cuidadosamente elaboradas para convencer o verificador sobre a veracidade da declaração sem divulgar nenhuma informação relacionada à declaração.
Desafios e interações são repetidos várias vezes para eliminar as chances de o provador adivinhar a afirmação.
Uma prova de conhecimento zero permite que você compartilhe prova de conhecimento com a outra parte sem revelar nenhum detalhe adicional do conhecimento. Para que isso aconteça, o protocolo de conhecimento zero depende dos algoritmos que recebem alguns dados como entrada e retornam a saída como verdadeiro ou falso para a entrada fornecida.
Aqui estão três critérios que um sistema de prova de conhecimento zero deve satisfazer.
1. Integridade
Se a afirmação for verdadeira, um provador honesto pode convencer um verificador honesto sobre a veracidade da afirmação.
2. solidez
Se a declaração for falsa (o que significa que um provador não conhece a declaração correta), nenhum provador desonesto pode convencer um verificador honesto sobre a veracidade da declaração.
3. Zero-conhecimento
As provas de conhecimento zero (ZKPs) garantem que o verificador não obtenha conhecimento sobre a afirmação que está sendo provada, exceto se é verdadeira ou falsa. Além disso, o verificador não consegue extrair nenhuma informação sobre a afirmação a partir da prova fornecida pelo provador, que foi construída para demonstrar a veracidade da afirmação.
Tipos de provas de conhecimento zero
A seguir estão dois tipos principais de provas de conhecimento zero que você deve conhecer.
Provas interativas de conhecimento zero
Em um sistema interativo de prova de conhecimento zero, o provador constrói uma prova sobre a afirmação e a envia ao verificador. Em seguida, o verificador faz perguntas e cria desafios. O provador responde aos desafios do verificador e continua a interação. Esse processo de comunicação de vaivém permite que o verificador seja convencido sobre a veracidade da declaração.
Provas não interativas de conhecimento zero
Em um sistema de prova de conhecimento zero não interativo, o provador cria uma única prova que o provador pode verificar independentemente sem qualquer interação adicional.
De duas, as provas interativas de conhecimento zero são mais computacionalmente intensivas, pois a tecnologia ZKP interativa faz cálculos adicionais devido a interações de ida e volta.
Aplicativos e casos de uso à prova de conhecimento zero
Aqui estão alguns casos de uso de protocolos de conhecimento zero.
Autenticação
Provas de conhecimento zero (ZKPs) pode ser usado para autenticar usuários sem trocar informações secretas, como nomes de usuário ou senhas. Isso pode melhorar a experiência do usuário e impedir que as empresas mantenham grandes quantidades de dados do usuário em seus servidores.
Transações Privadas
As transações de blockchain não são privadas. Em vez disso, eles estão vinculados a endereços de carteira criptográfica pseudônimos. E os governos podem rastrear essas transações, permitindo que eles capturem criminosos da dark net.
É legítimo capturar criminosos rastreando essas transações. Mas e quanto a um regime opressivo que mantém o controle sobre os usuários regulares de criptomoedas por meio de informações armazenadas no livro público?
Ao implementar provas de conhecimento zero, as empresas podem permitir transações protegidas nas quais os endereços do remetente e do destinatário e os valores das transações são ocultados do blockchain público.
Por exemplo, ZCash e Monero oferecem transações privadas usando provas de conhecimento zero.
Cadeias de suprimentos seguras
O uso da prova de conhecimento zero pode aumentar a segurança em uma cadeia de suprimentos. Ele pode verificar a integridade dos dados, validar as credenciais dos fornecedores, provar a autenticidade dos produtos ou serviços e permitir o rastreamento seguro sem a necessidade de divulgar informações confidenciais.
Além disso, as provas de conhecimento zero permitem que as empresas provem aos reguladores e autoridades que cumprem as leis aplicáveis e os padrões do setor.
Verificação de identidade privada
As provas de conhecimento zero ajudam a proteger a privacidade do usuário. As autoridades podem verificar a identidade de qualquer indivíduo sem a necessidade de divulgar informações confidenciais.
Por exemplo, um aplicativo de finanças descentralizadas (DeFi) pode ter que verificar se um usuário pertence a um determinado país. O processo tradicional exigirá que o usuário envie os detalhes do passaporte ou o número da carteira de motorista. Mas com a ajuda de um protocolo de identidade baseado em ZKP de terceiros, o usuário pode provar que pertence a uma lista de países permitidos, mesmo sem informar o nome do país.
Prova de Associações
A prova de conhecimento zero pode permitir que os usuários provem que fazem parte de um grande conjunto público sem dizer a qual parte do conjunto público eles pertencem.
Por exemplo, o The Dutch ING Bank lançou sua adesão ao conjunto de conhecimento zero (ZKSM), permitindo que os usuários provem que são membros da União Europeia sem informar em quais países vivem.
Desvantagens de usar uma prova de conhecimento zero
A prova de conhecimento zero oferece vantagens significativas. Mas eles também têm alguns empecilhos.
O maior desafio são os custos de hardware. A geração de provas de conhecimento zero requer cálculos complexos, muitas vezes executados em máquinas especializadas que são caras para adquirir.
Além disso, a verificação de provas também requer cálculos complexos. Portanto, não é viável implementar a prova de conhecimento zero, a menos que as empresas tenham grandes orçamentos para o mesmo.
Além disso, a falta de recursos de treinamento e ferramentas de desenvolvimento para aplicativos ZKP dificulta uma adoção mais ampla de provas de conhecimento zero.
Provas de conhecimento zero para aumentar a privacidade
Hackers e agentes de ameaças estão sempre tentando obter suas informações confidenciais. Portanto, tome as medidas necessárias para proteger seus dados. Pesquise aplicativos com base em provas de conhecimento zero e use-os para proteger sua privacidade e segurança.
Além disso, você deve usar criptografia de conhecimento zero para proteger seus dados confidenciais.