zkProver

Time-optimal prover without trusted setup (transparent) where verifying a proof incurs sub-linear costs

The most computationally demanding part of zkRelayer is the zeroknowledge proofs generation which is executed by zkProver.

Way used zkSpark as the zero knowledge proof of its prover. zkSpark is a time-optimal prover without trusted setup (transparent) where verifying a proof incurs sub-linear costs. It is a type of cryptographic proof technology that enables users to share validated data or perform computations with another party without the data or computation being revealed to the third party. This is known as zero-knowledge proof, producing information that is publicly verifiable. zkSpark is based on sub-linear verification time encodable codes that get the fastest proof time among all existing ZKP schemes. On the basis of not increasing the information transmission, zkProver does not increase the time to relayer messages, allowing users to enjoy this service in a secure and trusted way.

zkSpark is Way's high-speed zero-knowledge proof system, a cryptographic primitive that enables a prover to prove a mathematical proposition to a verifier without revealing the validity of the proposition. This library provides a Rust library zkSpark that implements a zero-knowledge succinct non-interactive parameter of knowledge (zkSNARK), a zero-knowledge proof system with short proofs and fast verification times. The security of the zkSpark variant implemented in this library is based on the discrete logarithm problem in a stochastic oracle model.

A simple example application is proving knowledge of a secret s such that H(s) == d for public d, where H is a cryptographic hash function (e.g. SHA-256, kecak). A more complex application is a database-backed cloud service that generates proofs of correct state machine transitions for auditability.

We now highlight the unique features of zkSpark.

  1. No "toxic" waste:* zkSpark is a transparent zkSNARK that does not require a trusted setup. As such, it does not involve any secret doors that must be kept secret, nor does it require multiparty rituals to generate public parameters.

  2. General: zkSpark generates proofs for arbitrary NP statements. zkSpark supports NP statements expressed as Level 1 Constraint Satisfaction (R1CS) instances, a popular language with efficient transformations and compiler toolchains from high-level programs of interest.

  3. Sublinear Verification Cost: zkSpark is the first transparent proof system with sublinear verification cost for arbitrary NP statements such as R1CS.

  4. Normalized Security: The security of zkSpark relies on the hardness of computing discrete logarithms (a standard cryptographic assumption) in a stochastic oracle model. zkSpark uses 'ristretto255', a prime group abstraction on top of 'curve25519' (high-speed elliptic curves).

Last updated