Proof Verifier Contract
Proofs can either be verified fully on-chain or in a TEE for cases where writing the verification contract in Solidity is impossible or carrying out the verification on-chain is expensive. While in the former case, the tooling related to the proof system can help generate the verifier contract in Solidity, for the latter case, sections on Generator and IVS enclaves provide information on operating the verification logic via a TEE.
Through out the docs, Proof Verifier refers to a smart contract. This is clear in the Solidity-based proof verification case. In the case of TEE-based verification scenario, the Proof Verifier refers to a contract which checks the validity of attestations received from a TEE attesting to the proof being valid.
The sub-sections below provide detailed steps to proceed with deploying the smart contracts relevant for either case:
- Solidity-based Proof Verification: Relevant for type-1 and type-3 markets
- TEE-based Proof Verification: Processing proof verification attestation from
- Generator enclaves: Relevant for type-2 markets
- IVS enclaves: Relevant for type-4 markets