To use a zero-knowledge proof, the verifier poses a question, such as "Are you over 19?" The user uses a digital witness to produce a cryptographically provable digital proof of the answer, which is recorded by the verifier. To prevent reuse, the verifier asks additional questions, such as the current date or a code word.