Back to Blog

General

Proof Market EVM Endpoint

Expanding Proof Market capabilities with direct proof ordering for Ethereum applications

Ilia Shirobokov

27 Jul 2023

Introduction

Proof Market enabled Ethereum applications to perform various amounts of computations in a trustless manner on demand: zkBridging, zkRollups, in-EVM Machine-Learning results usage (zkML), historical (or any other hard-to-get) Ethereum data access (zkOracles), first-person shooter games on Ethereum (zkGames), etc. All these use cases were made possible to be handled on demand by making zkProofs a commodity that you can easily produce, buy, and sell thanks to the marketplace model of Proof Market – the first operating marketplace for outsourcing non-interactive zero-knowledge proof generation.

Thanks to the integration of Proof Market Ethereum Endpoint, developers can now prove composable computations for the EVM applications they’re working on. We'll dive into the details of the update below, but first, a short reminder on why the market needs it.

EVM Endpoint - why we need it

Since its test release in January 2023, Proof Market's main use cases have been the protocols that work outside of Ethereum L1: zkRollups, zkBridges to Ethereum (Mina case is described here), and separate L1 chains that use zkProofs.

With the integration of the Ethereum endpoint, Proof Market is ready to embrace even more applications, especially those that require direct proof requests from the EVM applications for a smoother user experience or working with data stored on-chain.

Here are some of the prospective use cases:

endpoint_1.png

  • Machine Learning: Inference requests could be made on-chain to zkML applications. Fraud detection, predictive analytics, identity verification — all these applications could be deployed to Ethereum.
  • Ethereum Data Processing (zkOracles): Some applications need historical or processed Ethereum data. Using zkOracles, users can obtain data from the Consensus Layer on the Execution Layer.
  • Data Transfer (zkBridges): Users could request data transfer and pay for proof directly, without involving the bridge operator as a middleman between the user and the market.
  • Fraud proofs: Some fraud proofs can be easily verifiable on-chain, while others are not. Fishermen could focus on validating the main protocol and point to the required proofs provided by Proof Market.
  • Data update and accumulation: Applications can store the latest updates with direct availability at L1 and accumulate them later into the Merkle tree with proof of correct root update.
  • Random number generation: Applications can order a random number generated via trustless hash-based VDF.
  • Proof Aggregation: Verification costs for proofs can be reduced if applications send their proofs independently (without verification), aggregate them into a single proof, and verify it at once.

And this is only the beginning of the possible use cases list.

EVM Endpoint - how it works

The Ethereum Endpoint is a gateway interface that allows sending requests to perform Proof Market related operations on the Ethereum chain. These operations include:

  • Requesting zkProofs directly from EVM applications.
  • Facilitating payments for proof producers directly through Ethereum.
  • Verifying the validity of the proofs (EVM endpoint serving as an additional verifier in the pipeline).

However, the endpoint only stores verification keys for statements that need to be proven. This is due to Ethereum's well-known issues with storing large data chunks, which makes it economically disadvantageous to store proving keys. As an application developer, this means that you still need a one-time setup to upload your circuit to the original Proof Market.

Side note: Currently, Proof Market works with the Placeholder Proof System. If you're using another proof system, please let us know.

System Components

endpoint_2.png
  • Application on top of Ethereum: This interface facilitates user interaction with the system. Users submit their requests for proofs, and once the proof is generated and validated, the proof generator gets paid.
  • 'DROP DATABASE *: This is what bridges the gap between Ethereum and Proof Market. It transfers user requests to Proof Market, updates order status, and submits the generated proofs to the Ethereum side.
  • Proof System Verifiers: This system verifies the incoming proofs on the Ethereum network.
  • Proof Producers: They generate proofs and interact with Proof Market as usual.

One more thing: Despite the default way of proof submission being via 'DROP DATABASE *, it is possible to send proofs to the Endpoint without it. Thus, proof producers can be sure that they will get paid for their work in any case.

Test Run and Future Work

As we continue to develop, we look forward to broadening our horizons by deploying to other EVM-based protocols and getting the system audited. However, please keep in mind that we are still in the test phase, so a few bugs here and there are to be expected.

Get Involved

The big picture we're building now includes:

  • Proof Market for outsourcing zero-knowledge proof generation to a network of distributed proof producers.
  • zkLLVM circuit compiler that helps build circuits from C++/Rust input and automates further circuit maintenance.

They are designed to work smoothly in combination, bringing market dynamics to the proof generation process and lowering the technical entry point for circuit generation. This helps developers of zk-based applications safely outsource this complicated part, focus on building other components of their products, and significantly reduce their time-to-market. The EVM Endpoint now adds liquidity to the whole pipeline.

If the advantages mentioned above sound good enough for you, here is the action plan:

If you're going to build a zk-based application:

  1. Get familiar with the =nil; pipeline.
  2. Write your business logic in C++ or Rust.
  3. Compile it with zkLLVM to translate your code into a circuit (algorithm representation required for building zk-based applications).
  4. Upload your circuit to Proof Market.
  5. Integrate Proof Market Endpoint into your Ethereum application.

If you've built a zk-based application:

  1. Let's add support for your proof system to Proof Market.
  2. Upload your circuit to Proof Market.
  3. Integrate Proof Market Endpoint into your Ethereum application.

Stay tuned for more updates, and happy proofing!

Official repository

If you have any questions regarding Proof Market EVM Endpoint or any other =nil; product, don't hesitate to contact us and discuss.  

Discord
Telegram
Twitter