Litcius/Paper detail

Succinct Zero Knowledge for Floating Point Computations

Sanjam Garg, Abhishek Jain, Zhengzhong Jin, Yinuo Zhang

2022Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security12 citationsDOIOpen Access PDF

Abstract

We study the problem of constructing succinct zero knowledge proof systems for floating point computations. The standard approach to handle floating point computations requires conversion to binary circuits, following the IEEE-754 floating point standard. This approach incurs a poly(w) overhead in prover efficiency for computations with w-bit precision, resulting in very high prover runtimes -- already the key bottleneck in the design of succinct arguments. We make the following contributions: -We propose a new model for verifying floating point computations that guarantees approximate correctness w.r.t. a relative error bound. This model is inspired by numerical analysis, and is very meaningful for applications such as machine learning and scientific computing. -Using this model, we present a general method for constructing succinct zero-knowledge proofs for floating point computations starting from existing public-coin "commit-and-prove'' systems. For computations with w-bit precision, our approach incurs only a log(w) overhead in prover running time. Our compiler nearly preserves (up to a factor of 2) the communication complexity of the underlying protocol, and requires sub-linear verification time. The resulting proof can be made non-interactive in the random oracle model. Concretely, our scheme is ~57x faster than the method following IEEE standard exactly [35] for 32-bit floating point computations. Central to our main result, and of independent interest, is a new batch range proof system in standard prime order groups that does not rely on bit decomposition.

Topics & Concepts

Gas meter proverComputer scienceIEEE floating pointCorrectnessOverhead (engineering)ComputationRandom oracleBottleneckFloating pointAlgorithmTheoretical computer scienceParallel computingCompilerSingle-precision floating-point formatMathematical proofMathematicsProgramming languagePublic-key cryptographyEmbedded systemOperating systemGeometryEncryptionNumerical Methods and AlgorithmsCryptography and Data SecurityCryptography and Residue Arithmetic