<p>Yes, Plutus makes it possible to validate zero knowledge proofs as it is a Turing-complete language. However, verifying zero knowledge proofs can be very complex, and go over the execution budget. To allow for a more efficient execution of zero knowledge proofs, the IOG team is working in introducing built-in functions of the most expensive operation required when verifying pairing-based zk-proofs, pairings. These type of proofs have the most efficient verifiers. You can find more information on the use cases of pairings in the draft CIP (note that this is a draft as it stands).</p>
<p><a href="https://github.com/cardano-foundation/CIPs/pull/220" rel="nofollow noreferrer">https://github.com/cardano-foundation/CIPs/pull/220</a></p>
<p>There is a bunch of different possible ZK proofs, and implementing a ZK verifier does not necessarily bound the statements that one can verify. IOG is involved in an open source effort of the implementation of Plonk, one such proving system.</p>
<p><a href="https://github.com/ZK-Garage/plonk" rel="nofollow noreferrer">https://github.com/ZK-Garage/plonk</a></p>
<p>However, there are no concrete plans on when this will be used to verify statements on chain.</p>

CC BY-SA 4.0
2022-07-15T10:36:15.417Z
2022-07-15T10:36:15.417Z
azinig
<p>From what I heard Plutus / Smart Contracts will bring also the possibility to do Zero Knowledge Proofs.
But I struggled to find further Details in the Documentation.</p>
<p>So here are my Questions:</p>
<p>Anyone knows where to find more detailed documentation on <strong>how / if</strong> ZK Proofs will be implemented in Plutus.</p>
<p><strong>If</strong> ZK Proofs will be implemented into Plutus are they limited to the domain of ada / token transactions or can they be considered as some sort of ZK Framework to proof other Datasets from other Domains as well (i.e. age)?</p>

CC BY-SA 4.0
2021-08-02T14:58:17.720Z
Some info can be found in this document: https://iohk.io/en/research/library/papers/soniczero-knowledge-snarks-from-linear-size-universal-and-updateable-structured-reference-strings/

Some bits in this video with Markulf Kohlweiss about Zk-SNARK https://www.youtube.com/watch?v=cAJERtcZamc

And in this video of Charles: https://www.youtube.com/watch?v=M67Z1d-sUug

However looking at it from the perspective of someone trying to apply it to real world problems it all still seems to be in the research phase?
JOxBERGER
<plutus>
ZeroKnowledge Proofs in Plutus?
# ZeroKnowledge Proofs in Plutus?

(Asked by: username_0 on 2021-08-01)

From what I heard Plutus / Smart Contracts will bring also the possibility to do Zero Knowledge Proofs.
But I struggled to find further Details in the Documentation.

So here are my Questions:

Anyone knows where to find more detailed documentation on **how / if** ZK Proofs will be implemented in Plutus.

**If** ZK Proofs will be implemented into Plutus are they limited to the domain of ada / token transactions or can they be considered as some sort of ZK Framework to proof other Datasets from other Domains as well (i.e. age)?

**Tags:** plutus
> **Comments:**
> **username_0**: Some info can be found in this document: https://iohk.io/en/research/library/papers/soniczero-knowledge-snarks-from-linear-size-universal-and-updateable-structured-reference-strings/  Some bits in this video with Markulf Kohlweiss about Zk-SNARK https://www.youtube.com/watch?v=cAJERtcZamc  And in this video of Charles: https://www.youtube.com/watch?v=M67Z1d-sUug  However looking at it from the perspective of someone trying to apply it to real world problems it all still seems to be in the research phase?  

---

## 1 answers

### Answer by username_1 on 2022-07-15. Score: 2

Yes, Plutus makes it possible to validate zero knowledge proofs as it is a Turing-complete language. However, verifying zero knowledge proofs can be very complex, and go over the execution budget. To allow for a more efficient execution of zero knowledge proofs, the IOG team is working in introducing built-in functions of the most expensive operation required when verifying pairing-based zk-proofs, pairings. These type of proofs have the most efficient verifiers. You can find more information on the use cases of pairings in the draft CIP (note that this is a draft as it stands).

<https://github.com/cardano-foundation/CIPs/pull/220>

There is a bunch of different possible ZK proofs, and implementing a ZK verifier does not necessarily bound the statements that one can verify. IOG is involved in an open source effort of the implementation of Plonk, one such proving system.

<https://github.com/ZK-Garage/plonk>

However, there are no concrete plans on when this will be used to verify statements on chain.


---

