zk-SNARK
Zero-Knowledge Succinct Non-interactive ARgument of Knowledge。計算の証明を問題の大きさにかかわらず約200バイトに圧縮し、ミリ秒で検証できる。
ペアリングベースの暗号(BLS12-381)に基づく。trusted setup(参加者が共同でパラメータを生成する儀式。正直な参加者が一人いれば足りる)が必要だ。古典的なSNARKはGroth16で、新しいPLONKやHalo2は汎用のセットアップか、セットアップ不要である。
Zcash、Tornado Cash、Polygon zkEVM、Scroll、Aleoなどを支える。証明の生成は遅い(数秒〜数分)が検証は速く、オフチェーン計算のオンチェーン検証に向く。zk-STARKは耐量子性があり信頼できるセットアップが不要な変種だが、証明は大きくなる。