Proposal: Optimizing prover rewards for more consistency

Completely agree. I did a very quick simulation on a block reward adjustment to target a specific number of provers – like EIP1559, increasing reward when below the proof submission target per epoch, decreasing reward when above the target.

TLDR: We considered a reward change for provers, using a mechanism based on a target number of provers. Although in the short- to medium-term it could reduce direct protocol issuance on provers and improve the number of provers and the resilience of the proving network during high usage periods, it comes with complexities, costs, tech debt, and unknowns around whether issuance would actually reduce (cartel risk) which make it hard to justify without exploring @emrepiconbello’s simpler proposed alternative first, and focusing R&D efforts on increasing L2 usage in the meantime.

This analysis is based on some Claude-assisted and brief fiddling around with the Aztec prover reward parameters (<1 day spent on this). The code to re-run the simulation is available here.


The consequence of many provers being active when costs are low means even the committed provers can’t justify the L1 costs / hardware investment needed to perform proving during peak L1 / L2 usage, which means provers won’t have enough resources to prove and submit during peak usage times.

As such, I tried to understand address the implicit goal of “targetting a specific number of provers in the system at any given time”.

The protocol is simple, set a target number of provers, and adjust prover rewards depending on how many provers submit a proofs, namely:

  • reduce prover rewards when more than the target number submit

  • increase prover rewards when less than the target number submit.

Continuing the Analysis vs Stopping

The initial results indicate savings are possible, but the unknowns are significant and together, these unknowns likely warrant the stopping of further research into the change, for now at least. Such a change can be revisited later, especially if the suggested param changes in the original post are unsuccessful.

Possible Savings (ignoring implementation costs & tech debt) — the motivation for continuing

This model’s lowerbound expected savings at a 2 prover target are $42 per epoch, or $550,000 per year (plus reduced sell pressure on Aztec token), assuming no prover fees being received from user txs —tx fees would further reduce the equilbrium block rewards being paid == more savings.

  • With a target of 2 provers always on, 0.02$ per Aztec,

    • at $10 per proof submission (equivalent to 1.1 Gwei, average of gas costs in the last 2 weeks) and:

      • $1 per epoch proof (current Claude estimates for the minimum harder requirement for proving), the protocol would save ~3000 Aztec, or $60 per epoch.

      • $10 per epoch proof (10x the no usage number), the protocol would save ~2100 Aztec, or $42 per epoch.

    • at $1 per proof submission (equivalent to 0.1 Gwei, close to the costs around alpha launch, indications we are returning to this price regime), and:

      • $1 per epoch proof, the protocol would save ~4300 Aztec, or $86 per epoch.

      • $10 per epoch proof, the protocol would save ~3600 Aztec, or $72 per epoch. (This number could be closer to the $10 proof submission, $1 proving cost number, a consequence of quick simulation and choice of distributions).

Aside from these savings, it is good practice to have a reward which purposefully targets its goal. In this case, funding provers to maintain liveness while the network usage increases. To this end, we want to subsidize a small number of reliable provers, rather than many provers when L1 costs are low and potentially none when costs go high.

Reasons for not pursuing the idea further:

  • If we set the target to 3 or more provers, the savings reduce — and there is a decent argument for a target of 3 or more. Ideally, we can allow the target adjustment to take affect when there are still 2 provers active, for redundancy. With a target of 2, we can only increase rewards if we are at 0 or 1 provers active, a fragile state for the system to be in.

  • Target provers may lead to prover cartels, incentivized to tune the reward higher than needed to extract profit from proving. Right now, this isn’t a concern as the barrier to entry is low, but if the barrier to entry gets high, the active provers can agree to share rewards and drive up the equilbrium prover reward far beyond the 4800 per epoch currently being paid.

  • This reward change could be seen as tech debt if long term plans are to remove issuance.

  • The target prover change can be applied with or without the simpler param change of the current forum suggestion. The easier path is apply the forum changes first, focus efforts on other endeavours and revisit target provers if prover number issues persist.

  • Aztec has done prover reward analysis internally, 4,800 is likely tuned for the correct number of provers GIVEN a minimum certain usage and user fees. Changing this number/mechanism now while we are still in low usage might be premature.


Aside: Currently, Aztec allocates 500 Aztec in issuance per checkpoint (16,000 for a 32 checkpoint epoch) for sequencing and proving, split 70:30, meaning 4,800 Aztec per checkpoint for prover rewards. This is split evenly among all provers who submit a valid epoch proof.

2 Likes