Skip to content

Add way to skip proof verification #1862

@igamigo

Description

@igamigo

In the context of the client, with the upgrades to 0.14 and the migration to Plonky3, proving is a bit slower. Additionally, the memory footprint seems to be somewhat considerably higher, which forces us to reduce client testing concurrency because we otherwise thrash the system. Lastly, for some reason the protocol crate compile times have become much higher as well. This is especially noticeable in the CI workers which are not particularly strong. There are a couple of things we can do to improve this:

  • Improve worker hardware
  • Run remote provers in the CI (would improve webclient tests which are strictly single-threaded)
  • Mock at least some fraction of the proofs, and avoid proving everything

The first two are a bit of a more costly and complex solutions and with an upper improvement bound.
For the third option, we should be able to easily mock proofs from the client side. However, it also needs support from the node, so I wonder if we can add a feature to the node to skip proof verification while still keeping tx re-execution and validation in place, in such a way that we can avoid proving most of the transactions we run.
We can still keep a few to make sure the proof generation and verification on the network gets appropriately tested as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requestedrpcRelated to the RPC component

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions