[Proposal] Decentralized Prover Network (Staking, Reputations and Proof Races)

Thank you @nilu & those who contributed to this thorough proposal! :pray:

Couple of initial thoughts that will hopefully prompt further discussion:

  1. How would we enforce the minimum computing power requirement? Would there be a challenge period or acceptance criteria, similar to a proof-of-proof challenge, or something along those lines?
  2. Perhaps naive question on my end (and apologize in advance) but how would you recommend determining and enforcing accuracy on the geographic region where provers are located?
  3. Higher hardware requirements may be necessary if only having “one enshrined prover” at a time? While the hardware requirements you mentioned are our current target to be sufficient to generate the required rollup proofs, it is likely to be quite slow if that is the only hardware available to prove a single block and we are not parallelizing any of the work. For example, most of the existing proposals which have targeted that low hardware requirement are doing so for a subtree, with many subtrees being proven in parallel. Those that do not consider this model typically assume the proofs to be delegated to third party marketplaces who can then generate the proofs in parallel. For a bit more information on the “division of proofs into smaller computational components” you could maybe reference the rollup circuit documentation or read a bit more in the Cooperative proving network’s commentary on statefulness. Specifically we could consider potentially change the topology of the rollup itself in to accomodate different types of constructions or parallelization, but having a single prover work at a time, and not being able to (or encouraging) out of protocol delegation, seems like a potential throughput bottleneck… This is not a dealbreaker, but figured it would be worth the clarifying discussion!
  4. I like the idea of an emergency fallback period acting somewhat like a based rollup (allowing anyone to submit the proofs in the event that the enshrined protocol failed to do so, for whatever reason). It’s something we are considering in most of the designs and makes a lot of sense to prevent nasty reorgs… However, could you clarify why you’d suggest only the top 25% or N% would be eligible? Our current thinking on this is that in this case we don’t really care who completes the proofs, as long as they get quickly produced in an “emergency mode” scneario? :thinking:

Again thank you so much for the time and thoughtful consideration!

64 Likes