Conversation
|
Indeed I think that this approach simplifies the code quite a lot because this removes various structures. The information now passes via the Fiat Shamir object, reducing the number of needed alternative objects to represent stuffs. However I would still like a second opinion from @SyxtonPrime about this. We started the effort with this issue #305 after the workshop in Cambridge in order to facilitate Plonky3 integration in the relatively near future. Via the proof objects we were able to approach very closely to what is done traditionally in other Plonky3 similar algorithms like FRI. Of course I consider the transcript thing as something more secure and easier to not make mistakes but this deviates a bit from the Plonky3 way of doing things. And I would like that not to prevent us from upstream WHIR easily in Plonky3. What do you think @SyxtonPrime? Maybe having something like the |
This PR adds a global and serializing transcript and removes
WhirProofCurrently in a fiat shamir stream, a mutable proof object and a p3-challenger has to move and operate together. New transcript object wraps them into single object
FiatShamirWriterfor prover side andFiatShamirReaderfor verifier side. New transcript immediately serializes (or deserialize) elements in proof so it should work with any kind of proof stream. For future improvements we can add IO pattern enforcement.