Closed burdges closed 5 years ago
This is fixed in 0.1 now. I took an approach much more similar to the old design but used a much better strategy for merging the proofs, well better assuming you want a VRF and not a tool for more general zk proofs. lol
There is now a basic VRF in https://github.com/w3f/schnorr-dalek/blob/master/src/dleq.rs but I wrote it without clearly thinking through batching, so all the types need reworking. We could simply wait for davros for batching, but if we want it sooner then the design might look like:
So the verification workflow goes: deserialize a
VRFProof
, attach the inputs, and run the appropriate verifier. It's possible the inputs can be managed detached everywhere because we've only three steps that use them, committing to the transcript in the beginning, which needsCompressedRistretto
and either recomputinginput_x_r
in the non-batched case, or else verifying the delinerized sum ofinput_x_r
s in the batched case, which both takeRistrettoPoint
s.