← Back
Home › Systems › Blockchain and web3

zk-prover

zero-knowledge proof system

Plonky3, Halo2

SystemTechniques · 6Primitives · 13 zk-prover Work-stealing dequeconcurrency · medium: Per-worker deque: the owner pushes and pops at the bottom without contention, idle workers steal from the top; the core of Rayon, Tokio and Go.›Circuit arithmetizationsecurity · medium: Turn computation into constraints for proofs: R1CS, PLONKish gates, AIR, lookupsPairing based cryptographysecurity · medium: Bilinear pairings on BN254/BLS12-381 curves: Miller loop and final exponentiationPolynomial commitment schemessecurity · medium: Commit to polynomials and prove evaluations: KZG, FRI, IPA trade-offsProof recursion foldingsecurity · medium: Verify proofs inside proofs or fold instances (Nova) to aggregate long computationsSumcheck protocolsecurity · medium: Sumcheck interactive proof for multilinear polynomials, basis of GKR and lookup argumentsFinite field arithmeticnumerics · low: Prime-field and extension-field arithmetic (Montgomery form, Goldilocks, BabyBear), vectorizedNumber theoretic transformnumerics · low: FFT over finite fields for exact polynomial and big-integer multiplicationBig integer arithmeticnumerics · low: Multi-limb integer arithmetic (256-bit and up): carries, Karatsuba, Montgomery and Barrett reductionElliptic curve arithmeticsecurity · low: Point addition, doubling and constant-time scalar multiplication in projective coordinatesMerkle treedata-structures · low: Hash tree for verifying and diffing large datasets with logarithmic proofsFiat shamir transformsecurity · low: Make interactive proofs non-interactive by deriving challenges from a transcript hashMulti scalar multiplicationsecurity · low: Pippenger bucket method for large multi-scalar multiplications on elliptic curvesSIMD programminghardware-os · low: Process 4-16 lanes per instruction with AVX2, AVX-512 or NEON via Rust std::arch, with runtime dispatch and a portable fallback.›CUDA and GPU languageslanguages · low: Programming GPUs: thousands of lockstep threads, bound by memory bandwidth; libraries first, Triton for fused kernels, CUDA C++ for peak speed.›Algebraic hash poseidonsecurity · low: Arithmetic-friendly hash (Poseidon/Rescue) over prime fields, cheap inside zk circuitsEpoch-based reclamationconcurrency · low: Threads announce a global epoch while touching shared lock-free data; garbage retired in epoch e is freed once the epoch reaches e + 2.›Memory orderingconcurrency · low: What Relaxed, Acquire, Release and SeqCst atomics actually guarantee, what they cost on x86 and ARM, and which one each pattern needs.›Arithmetic circuitshardware-os · low: Adder and multiplier circuits: carry-lookahead, prefix adders, Booth encoding, Wallace and Dadda trees