# Proof of Knowledge

- [[cryptography]]
- [[pull]] [[zero-knowledge-proof]]
- we know something if we can compute it
- if we want to demonstrate knowledge of something, demonstrate either
  - we can compute it efficiently
  - we already have it
- imagine the same ZKP protocols where the prover is modelled as a black box
  - we allow rewinding this black box
  - "show me edge A-B" and "show me edge A-C" answered by the black box independently for e.g. 3-color problem
  - this allows computing things that aren't possible to compute in the simulation model, because we can change the distribution of transcripts we see to a subset (transcripts prefixed by up to our rewinding point)
