# Comparison of Proving Frameworks

### opML vs zkML

ORA leverages opML for Onchain AI Oracle because it’s the most feasible solution on the market for running any-size AI model onchain. The comparison between opML and zkML can be viewed from the following perspectives:

* **Proof system**: opML uses fraud proofs, while zkML uses zk proofs.
* **Performance**: opML is much more performant, while zkML has long proof generation time and extremely high memory consumption ([ref1](https://hackmd.io/mGwARMgvSeq2nGvQWLL2Ww#Honey-I-SNARKED-the-GPT), [ref2](https://medium.com/@ModulusLabs/chapter-8-make-zkml-real-a3a355b2b756), [ref3](https://twitter.com/shumochu/status/1723839817836888365), [ref4](https://blog.ezkl.xyz/post/benchmarks/), [ref5](https://medium.com/@ModulusLabs/chapter-14-the-worlds-1st-on-chain-llm-7e389189f85e), [ref6](https://twitter.com/nim_network/status/1783147018392588685)).&#x20;
* **Security**: opML uses crypto-economic based security, while zkML uses cryptography based security.
* **Finality**: We can define the finalized point of zkML and opML as follows:
  * zkML: Zero-knowledge proof of ML inference is generated (and verified).
  * opML: Challenge period of ML inference is passed. With additional mechanisms, faster finality can be achieved in much shorter time than the challenge period.

<figure><img src="https://4087680299-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FllyHj70MVMOxu2WT7tZv%2Fuploads%2FmznuYLXWVF9rKQwM6dq3%2Fimage.png?alt=media&#x26;token=5cd594e4-c592-4b13-a8c6-b2095c7af1d5" alt=""><figcaption></figcaption></figure>

### opp/ai

Opp/AI combines both opML and zkML approaches to achieve scalability and privacy. It preserves privacy while being more efficient than zkML.

Compared to pure zkML, opp/ai has much better performance with the same privacy feature.<br>

<div data-full-width="true"><figure><img src="https://4087680299-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FllyHj70MVMOxu2WT7tZv%2Fuploads%2F4AU9kOTOMebNpIRSBiM1%2Fimage.png?alt=media&#x26;token=204e9218-e9e4-4bbb-ae07-eff9fe86e7c3" alt="" width="375"><figcaption></figcaption></figure></div>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ora.io/doc/onchain-ai-oracle-oao/fraud-proof-virtual-machine-fpvm-and-frameworks/comparison-of-proving-frameworks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
