Skip to main content

Auction Walkthrough

The network makes use of real-time bidding in the auctioneer service to assign requests to the most efficient provers currently able to fulfill them. The auction mechanism enables price discovery with minimal latency and uses PROVE tokens for payments.

The initial version of the network uses a simple reverse auction to allocate the request to the lowest bidding prover. Over time, this mechanism can transition to the proof contest mechanism described in our whitepaper, which distributes rewards to a broader set of provers to encourage decentralization. We demonstrate the end-to-end auction process in a walkthrough.

Walkthrough: Requesting Proofs

Requesting proofs is made easy with on-chain PROVE payments that securely handle user funds and the off-chain backend that handles request data. Suppose that Alice runs a ZK rollup and wishes to request a proof. Alice’s proof request requires at least 50 PROVE to be staked in order to participate in the auction for her proof, for a maximum fee of 100 PROVE. Alice sets a deadline of 10 minutes for the proof.

Alice can easily do this using the Succinct Prover Network:

  1. Alice transfers PROVE to the auctioneer to pay for her proof.
  2. Alice initiates a proof request containing the program to be proven, the proof’s deadline, and the maximum fee she is willing to pay, and sends it to the network’s off-chain auctioneer via an RPC call.
  3. Alice’s request is directed to the off-chain auctioneer, where it is matched to the cheapest prover willing to fulfill it, at a price of at most 100 PROVE.
  4. Alice receives the proof and the payment is transferred to the prover .
  5. The balance updates are settled on Ethereum as a single ZK proof, allowing Alice to independently verify the transaction was made correctly.

In addition to this simple user flow, the network makes it easy for Alice to withdraw funds from the smart contract without the permission of any off-chain actors. Even if the auctioneer is not live, Alice can easily withdraw her funds directly from Ethereum.

Walkthrough: Fulfilling Proofs

It is similarly easy for provers to fulfill proof requests. Provers participate in auctions to compete on the price of proofs, and receive fees in PROVE from users. Suppose Bob, Charlie, and Don are provers and are competing for the ability to fulfill Alice’s proof request. We illustrate several cases:

  1. Bob has 100 PROVE staked and Charlie has 150 PROVE staked. Both of them are eligible to participate in the auction. Don, on the other hand, only has 25 PROVE staked. He is ineligible to participate in the auction.
  2. Bob and Charlie submit bids of 60 PROVE and 70 PROVE to the off-chain auctioneer, respectively, to prove Alice’s request.
  3. Bob wins the auction, and the proof request is assigned to him; from assignment, he has 10 minutes to fulfill the proof.
  4. Bob submits the fulfilled proof to the off-chain auctioneer within 10 minutes, and the payment of 60 PROVE is transferred to him from Alice.
  5. If Bob does not submit a proof that was assigned to him within 10 minutes, the proof request is canceled and Bob’s stake is slashed for 50 PROVE. Alice can retry her request to request the proof from other provers.

Alternatively, Alice can enter into a service level agreement with Bob by whitelisting him as the only prover eligible to fulfill her request. In this case, Charlie and Don are ineligible to participate in the auction, and only Bob can join.