There is no commentSelect some text and then click Comment, or simply add a comment to this page from below to start a discussion.
Prover, Verifier, and Challenger costs in rollups
Let's look at the costs (in terms of computation) and rewards (in tokens) of the main parties involved in a rollup (both zk and optimistic).
Prover/Proposer
The prover (or as I will refer to it in the case of optimistic rollups, proposer) posts some updated state to the blockchain (L1) after applying some update . In a zk-rollup, also posts a SNARK that .
Costs
Computing
[zk only] Computing
[optimistic only] Collateral to back the claim that is correct
[optimistic only] Engaging with any interactive challengers (i.e., bisection game)
Rewards
Pre-established reward if is accepted
Verifier
The verifier runs on the L1 and determines whether or not to accept . In an optimistic rollup, this means arbitrating the dispute if a challenge is submitted; in a zk-rollup, this means running the SNARK verifier.
Costs
[zk only] Computing
[optimistic only] Resolving dispute (e.g., a step of the evaluation of as determined by the bisection game)
Rewards
N/A
Challenger
The challenger monitors the rollup for any faulty submissions to challenge. In the case of a zk-rollup, there is no challenger role.
Costs
[optimistic only] Collateral to back the claim that is incorrect (i.e., to back the challenge)
[optimistic only] Engaging in an interactive challenge with (i.e., bisection game)
Rewards
[optimistic only]'s collateral if is rejected
Who pays for what costs
's cost #1 (P1) will be covered by the rollup reward, so should be set so that > P1.
P2, if relevant, should also be covered by the rollup reward, so in zk-rollups, should be set so that > P1 + P2.
If is honest, P3 should always be returned.
If is honest, P4 will be reimbursed from 's collateral, so should be set so that > P4.
V1 should be covered by users of the rollup service.
V2 should be reimbursed by the collateral of loser of the dispute, so in optimistic rollups, should be set so that > P4 + V2 and > C2 + V2 (see below).
If is honest, C1 should always be returned.
If is honest, C2 will be reimbursed from 's collateral, so should be set so that > C2 (and in fact higher, see above).
These constraints determine lower bounds for the values of , , and . The final lower bounds are bolded. The funding for (and V1) comes from transaction fees paid by users of the rollup service. This accounts for all the costs/rewards in the system.