.. | ||
bulletproofs.md | ||
halo2.md | ||
kate.md | ||
nova.md | ||
plonk.md | ||
README.md | ||
semaphore.md | ||
zkSNARKS.md | ||
zkSTARKS.md |
zero-knowledge proofs
tl; dr
- suppose that you have a (public) function
f
, a (private) inputx
, and a (public) outputy
. - you want to prove that you know an
x
such thatf(x) = y
, without revealing whatx
is. - for the proof to be succinct, you want it to be verifiable much more quickly than computing itself.

comparison of proof systems


common reference strings, structured reference strings, trusted setup, multi-party computation ceremony

- a trusted setup ceremony is a procedure that is done to generate a piece of data that must be used every time some cryptographic protocol is run.
- for some proofs to work, such as zk-snarks, it's necessary to create a common reference string (CRS), which provides public parameters for proving and verifying validity proofs.
- the security of the proving system depends on the csr setup and some zk-rollups attempt to solve this problem by using a multi-party computation ceremony (mpc) with trusted individuals.
- modern protocols use the power-of-tau setup, which has 1-of-N trust model, with N around hundreds.