Skip to content

Conversation

@kilic
Copy link
Contributor

@kilic kilic commented Jan 1, 2026

This PR adds a global and serializing transcript and removes WhirProof

Currently 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 FiatShamirWriter for prover side and FiatShamirReader for 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.

@tcoratger
Copy link
Owner

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 transcript.rs file proposed in this PR could be useful in Plonky3, don't you think? So that everything in Plonky3 would go through a transcript?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants