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::srhink 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.