Provas de conhecimento zero
Uma prova de conhecimento zero, às vezes também chamada de protocolo ZK, é um método de verificação que ocorre entre um provador e um verificador. Em um sistema de prova de conhecimento zero, o provador é capaz de provar ao verificador que tem o conhecimento de uma determinada informação (como a solução de uma equação matemática) sem revelar a informação em si. Esses sistemas de prova podem ser usados por criptógrafos modernos para fornecer maiores níveis de privacidade e segurança.
O conceito de uma prova de conhecimento zero foi descrito pela primeira vez em um artigo do MIT de 1985, publicado por Shafi Goldwasser e Silvio Micali. Eles demonstraram que era possível provar algumas propriedades de um número sem divulgar o número ou qualquer informação adicional sobre ele. Este artigo também apresentou a descoberta matematicamente significativa de que as interações entre um provador e um verificador podem reduzir a quantidade de informação necessária para provar um determinado teorema.
Uma prova ZK deve atender a dois requisitos básicos conhecidos como integridade e solidez. A completude refere-se à capacidade do provador de demonstrar conhecimento das informações relevantes com um alto grau de precisão provável. Para que a prova seja sólida, o verificador deve ser capaz de determinar com segurança se o provador está ou não de fato na posse da informação. Finalmente, para ser verdadeiramente de conhecimento zero, a prova deve atingir tanto a integridade quanto a solidez sem que a informação em questão seja comunicada entre o provador e o verificador.
As provas de conhecimento zero são usadas principalmente para aplicativos em que a privacidade e a segurança são essenciais. Os sistemas de autenticação, por exemplo, podem empregar provas ZK para verificar credenciais ou identidades sem divulgá-las diretamente. Como um exemplo simples, ele pode ser usado para verificar se uma pessoa possui uma senha para um sistema de computador sem a necessidade de divulgar qual é a senha.
Um caso de uso proeminente no mundo real de provas de conhecimento zero pode ser encontrado no mundo da criptomoeda e da tecnologia blockchain. Usando um tipo de prova conhecido como Argumento de Conhecimento Não Interativo Sucinto de Conhecimento Zero (zk-SNARK), criptomoedas focadas em privacidade, como Zcash , são capazes de oferecer transações blockchain com níveis maiores de privacidade para seus usuários. O Ethereum também está trabalhando com provas zk-SNARK desde sua atualização do Byzantium em 2017.