Why are Groth16 proofs compact enough for Kaspa on-chain verification?

Groth16 proofs are compact because each proof consists of only three group elements, no matter how complex the program being verified. On a blockchain, proof size directly affects transaction size — larger proofs mean larger transactions, which raises fees and strains network bandwidth. Kaspa's Groth16 precompile (tag 0x20) uses this small proof to cryptographically confirm that a program ran correctly, checking both an image ID that identifies the program and a journal digest that commits to its public outputs. For anyone building or using Kaspa applications that rely on proof verification, the compact format helps keep those transactions lean and affordable.

Learn more ›