zk-SNARK
Zero-Knowledge Succinct Non-interactive ARgument of Knowledge: comprime la prova di un calcolo in circa 200 byte, verificabili in millisecondi indipendentemente dalle dimensioni del problema.
Si basa sulla crittografia a pairing (BLS12-381). Richiede un trusted setup (una cerimonia in cui i partecipanti generano insieme i parametri; basta un solo partecipante onesto). Groth16 è lo SNARK classico; i più recenti PLONK e Halo2 hanno un setup universale o assente.
Alimenta Zcash, Tornado Cash, Polygon zkEVM, Scroll, Aleo. La generazione della prova è lenta (da secondi a minuti), la verifica è veloce: ideale per validare on-chain calcoli eseguiti off-chain. zk-STARK è una variante resistente ai computer quantistici, senza trusted setup ma con prove più grandi.