Examples
For example, a user could to prove that they are over 18 years old without revealing their date of birth. The ZKP would work as follows:
The prover would generate a commitment to their date of birth. A commitment is a cryptographic value that is linked to a piece of data, but does not reveal the data itself.
The prover would send the commitment to the verifier.
The verifier would generate a challenge. The challenge is a random value that is used to ensure that the prover is not simply replaying a previously generated proof.
The prover would respond to the challenge using their knowledge of their date of birth.
The verifier would verify the prover's response. If the response is correct, the verifier can be confident that the prover knows their date of birth without having learned the date of birth itself.
ZKPs can be used to prove a wide range of statements, such as:
Age
Identity
Address
Employment
Income
Last updated