Skip to main content

SP1 Verifier

settlementSp1Pallet​

Statement hash components​

  • context: keccak256(b"sp1")
  • vk: vk
  • pubs: keccak256(pubs)

Verifier implementation​

The zkVerify SP1 verification pallet supports verifying succinct SP1 proofs. Here we describe the format of proof, verification key, and public values supported by the pallet. A detailed walkthrough of the process of obtaining these artifacts can be found in this tutorial.

Proof​

Proofs should be of the shrink type. These proofs can be obtained by invoking the SP1Prover::shrink method on a Compressed proof.

Verification Key​

Verification key should be hashed into 8 BabyBear field elements with the SP1VerifyingKey::hash_babybear. These field elements should be serialized in little endian format, and concatenated into a 32 byte array.

Public Values​

Public values are accepted as a vector of bytes.