Experimental work was done in ‣
For some reason, the choice was made to use Blake2s for VP commitments and Poseidon for Resource commitments, a lot of effort seemed to have gone into writing a blake2s circuit, decision seems to have been made haphazardly/by committee/evolving design incrementally.
To understand the impact of blake2s on the circuit, we replaced it with poseidon, results are a substantial reduction in compliance circuit proving time:
halo2-compliance-proof-prover time: [10.524 s 10.635 s 10.760 s]
halo2-compliance-proof-verifier time: [42.803 ms 43.041 ms 43.370 ms]
halo2-compliance-proof-prover time: [5.8792 s 5.9636 s 6.0604 s]
halo2-compliance-proof-verifier time: [42.600 ms 42.852 ms 43.083 ms]
We should drop blake2s in favor of poseidon in our CL implementation.