GitHub | 𝕏

Acknowledgments

Special thanks to FaresMezenner for reviewing the blog and providing valuable feedback. Your comment helped improve its clarity and accuracy.

<aside> 🧭

In this blog, you will learn:

Interactive Oracle Proofs (IOP)

An Interactive Oracle Proof (IOP) is a proof system where the prover sends large proof objects called oracles:

$$ \pi_0, \pi_1, \ldots, \pi_k $$

The verifier does not read the full oracles. Instead, it queries a few random positions and checks local consistency.

In short: IOP = large proof tables + few verifier queries + random checks

1. There is a relation $R$

$R$ is the rule that defines what counts as a valid statement/witness pair.

$$ R = \{(x, w)\} \quad \text{ in a poly-time relation} $$

Example:

$$ x = \mathrm{hash}(w) $$

Meaning:

So the prover wants to prove:

$$ \exists w \text{ such that } x = \mathrm{hash}(w) $$

without directly revealing $w$.