Uma prova de Zero-Knowledge (ZK) é um método de autenticação em que um utilizador pode provar a autenticidade de determinadas informações sem transmitir nenhuma informação extra. Em suma, uma prova ZK permite que informações privadas sejam mantidas em sigilo durante uma troca.
Para realizar uma prova de ZK, três requisitos básicos devem ser atendidos: completude, solidez e zero-knowledge. Completude é a capacidade do provedor de demonstrar seu conhecimento de determinadas informações. Solidez refere-se à capacidade do verificador de determinar se o provedor possui genuinamente a informação. Por último, o que determina uma prova de ZK é alcançar a completude e a solidez sem qualquer informação adicional.
O conceito de uma prova ZK é normalmente aplicado quando a privacidade e segurança são de extrema importância. Por exemplo, os sistemas de autenticação podem empregar uma prova ZK para verificar as credenciais e identidades dos seus utilizadores sem revelar as informações. A prova ZK também pode ser usada para criptomoedas focadas em privacidade como Zcash, que usa uma variação da prova ZK conhecida como “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge” (ZK-SNARK).