-
Notifications
You must be signed in to change notification settings - Fork 274
Remove VerifierState from state manager #1066
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove VerifierState from state manager #1066
Conversation
b3514d8 to
6029e4b
Compare
4e0aa10 to
2bd93f2
Compare
6029e4b to
41a33d1
Compare
41a33d1 to
ec73528
Compare
2bd93f2 to
4311823
Compare
4311823 to
025c012
Compare
ec73528 to
23e20c3
Compare
00d50a2 to
2caff3b
Compare
0xAndoroid
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything else looks good, except for the jolt_dag refcator.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I strongly prefer current way of dag construction. I don't think that this refactor to the dag adds any clarity, while making the code a lot more verbose. I would like to keep the stageX_instances initialization.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My 2 cents here is that I like having the different stage methods for organization
If we end up going with my proposed JoltProverBackend trait, we'll end up having the stages explicit at the whole-DAG level, rather than implementing SumcheckStagesProver for each component. So we'd end up somewhere in-between the current state and the changes in this PR.
@andrewmilson are you planning to reintroduce the stage methods with the JoltProverBackend trait, or are you proposing that we toss them out entirely?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Plan is still to introduce stage methods on JoltProverBackend trait. I just want to slightly modify them so we don't pass state_manager and instead store state on the prover struct (I think this will make different backend state management much easier for us). The goal of this stack is to decouple everything in our codebase from state manager (which I think is good in itself for various reasons - testing for instance) which will help make this change and the prover/verifier split possible. Does that sound ok?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, that sounds good to me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I moved each stage to its own function.
Let me know what you guys think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me, let's add the symmetric prover functions for each stage in #1071
5c2aa34 to
e1d453f
Compare
809952e to
714a108
Compare
714a108 to
a66654b
Compare
0xAndoroid
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me

No description provided.