How it works
Last updated
Last updated
NEBRA UPA v1 (currently v1.2) aggregates Groth16
proofs (more proof systems to be supported in 2.0) from different sources. After a certain number of proofs (our current batch size is 32
) from different parties have been submitted to our address (see Deployments), our off-chain prover network will generate an aggregated proof . This aggregated proof effectively states that all the proofs in this batch have been verified. By only verifying aggregated proofs on-chain, the verification cost of each proof is amortized, bringing up to 10x gas savings (see Gas costs on L1s for details).
The workflow of a blockchain application powered by zero-knowledge proof using NEBRA is as follows:
Register your verification key with NEBRA UPA. This will give you a circuitId
(see Registering applications)
Submit your proof to NEBRA UPA together with the public input associated with the proof
Wait for the event indicating that the proof is verified. After this event, application can query isVerified
function to execute the application logic
Verified (or rejected) proofs can be viewed at NEBRA proof explorer: nebrascan.io