rusk
rusk copied to clipboard
Keys can be generated from two different CRS
Describe the bug
Currently 8 circuits can be compiled to produce their prover and verifier keys. For this process, a single CRS is lazily generated and cached for subsequent use. It is currently possible to generate the first few keys using make keys
, cancel the process, delete the generated CRS, and happily rerun make keys
. This will produce one set of keys compiled with the deleted CRS, and a set of keys compiled using the new CRS.
To Reproduce To make this happen, follow the following process:
source .env
make keys
# wait until "Fetching SendToContractObfuscated key from cache"
# and then press Ctrl+C to interrupt the process
rm .rusk/dev.crs
make keys
Expected behaviour
We should be prevented from doing this. make keys
should trigger a CRS rebuild when a different one is generated.