Skip to content

Understanding zero-knowledge proofs

Here are some resources on zero-knowledge proofs and how to generate them.

When to use zero-knowledge proofs

There are three moments when ZK is the right tool for you:

  • Computing power imbalance (which includes improved scalability): I can verify a result without running the resource-heavy computation.
  • Adversarial environment: I can verify a result without knowing trade secrets that attained this result.
  • Anonymity: I share only the information I want to share.

How to use zero-knowledge proofs

There are many ZK languages. Hylé aims to verify as many as possible.

DSLs are specific languages that usually compile down to a specific circuit. They're good, but they're complex and may have a high learning curve.

zkVMs prove the correct execution of arbitrary code. They allow you to build ZK applications in a certain language without having to build a circuit around it. There are two main types of zkVMs: Cairo and RISC-V. You can benchmark your Rust code and find the best zkVM for your needs with the any-zkvm template.

We currently support RISC–V-based zkVMs Risc0 and SP1 and will support more types, including Cairo-based zkVMs and DSLs, in the future.

Read more