https://github.com/matter-labs/awesome-zero-knowledge-proofs#bulletproofs
An approximate introduction to how zk-SNARKs are possible
R1CS -> QAP -> Trusted Setup -> NILP (Non-interactive Linear Proof) -> pairing-based NIZK (non-interactive zero knowledge) proof
PlonK with custom gates
TurboPLONK plus plookup
Implements UltraPLONK
ewfew
Table from https://vitalik.ca/general/2021/11/05/halo.html
Technology | Cryptographic assumptions | Proof size | Verification time |
---|---|---|---|
FRI | Hashes only (quantum safe!) | Large (10-200 kB) | Medium (poly-logarithmic) |
Inner product arguments (IPAs) | Basic elliptic curves | Medium (1-3 kB) | Very high (linear) |
KZG commitments | Elliptic curves + pairings + trusted setup | Short (~500 bytes) | Low (constant) |
IPA + Halo-style aggregation | Basic elliptic curves | Medium (1-3 kB) | Medium (constant* but higher than KZG) |
*constant =