A sigma protocol is an interactive proof pattern for showing knowledge of a hidden witness without revealing it. The prover first commits, the verifier sends a challenge, and the prover responds. section 7.2.1
The interaction proceeds in three moves:
- Commitment: Peggy chooses random k and sends a value that hides her witness x. section 7.2.1
- Challenge: Victor sends a challenge c only after seeing the commitment. section 7.2.1
- Response: Peggy uses k, x, and c to compute s; without knowing x, she cannot complete the final step. section 7.2.1
The Schnorr identification protocol illustrates the pattern: it is complete, sound, and honest-verifier zero-knowledge when Victor chooses the challenge randomly. A malicious verifier may learn something about the witness. section 7.2.1
Figure 7.6 The Schnorr identification protocol is an interactive ZKP that is complete (Peggy can prove she knows some witness), sound (Peggy cannot prove anything if she doesn’t know the witness), and zero-knowledge (Victor learns nothing about the witness).
Use the protocol diagram to connect completeness, soundness, and zero-knowledge with the three-message interaction. section 7.2.1
