# 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 $P$ (or as I will refer to it in the case of optimistic rollups, proposer) posts some updated state $y = f(x)$ to the blockchain (L1) after applying some update $x$. In a zk-rollup, $P$ also posts a SNARK $\pi$ that $y = f(x)$. ### Costs 1. Computing $y = f(x)$ 1. `[zk only]` Computing $\pi \gets {\sf SNARK}_f.{\sf Prove}(y, x)$ 1. `[optimistic only]` Collateral $c_P$ to back the claim that $y$ is correct 1. `[optimistic only]` Engaging with any interactive challengers (i.e., bisection game) ### Rewards 1. Pre-established reward $r$ if $y$ is accepted ## Verifier The verifier $V$ runs on the L1 and determines whether or not to accept $y$. 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 1. `[zk only]` Computing ${\sf SNARK}_f.{\sf Vrfy}(y, \pi)$ 1. `[optimistic only]` Resolving dispute (e.g., a step of the evaluation of $f(x)$ as determined by the bisection game) ### Rewards N/A ## Challenger The challenger $C$ monitors the rollup for any faulty submissions $y$ to challenge. In the case of a zk-rollup, **there is no challenger role.** ### Costs 1. `[optimistic only]` Collateral $c_C$ to back the claim that $y$ is *in*correct (i.e., to back the challenge) 1. `[optimistic only]` Engaging in an interactive challenge with $P$ (i.e., bisection game) ### Rewards 1. `[optimistic only]` $P$'s collateral if $y$ is rejected ## Who pays for what costs - $P$'s cost \#1 (P1) will be covered by the rollup reward, so $r$ should be set so that $r$ > P1. - P2, if relevant, should also be covered by the rollup reward, so in zk-rollups, $r$ should be set so that **$r$ > P1 + P2**. - If $P$ is honest, P3 should always be returned. - If $P$ is honest, P4 will be reimbursed from $C$'s collateral, so $c_C$ should be set so that $c_C$ > 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, $c_C, c_P$ should be set so that **$c_C$ > P4 + V2** and **$c_P$ > C2 + V2** (see below). - If $C$ is honest, C1 should always be returned. - If $C$ is honest, C2 will be reimbursed from $P$'s collateral, so $c_P$ should be set so that $c_P$ > C2 (and in fact higher, see above). These constraints determine lower bounds for the values of $r$, $c_P$, and $c_C$. The final lower bounds are bolded. The funding for $r$ (and V1) comes from transaction fees paid by users of the rollup service. This accounts for all the costs/rewards in the system.