-
Notifications
You must be signed in to change notification settings - Fork 73
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
Prover/cross-checking among segments of limitless prover #627
Prover/cross-checking among segments of limitless prover #627
Conversation
prover/protocol/column/store.go
Outdated
|
||
var rnd []*storedColumnInfo | ||
if (r.byRounds.Len()) != 0 { | ||
rnd = r.byRounds.MustGet(0) // precomputed are always at round zero |
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.
If it's an assumption, it is best to panic and assume the user is never given the possibility to input a non-zero round number for the store.
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.
non indeed MustGet gives panic for the empty store. I wanted to prevent this case as the crosse CompiledIOP does not have any column and is tasked to do only some crosse-checks among segments/modules.
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.
In that case, it would be cleaner to implement it as:
// This supports the case where the compiled-IOP does not store any column.
if r.byRounds.Len() == 0 {
return []ifaces.ColID{}
}
That way, the edge-case is explicitly handled and not the main-case
|
||
// GetCrossComp generates an (empty) compiledIOP object that is handling the crosse checks | ||
// for example, the global sum over logDerivativeSum is zero. | ||
func GetCrossComp(vRuntimes []*wizard.VerifierRuntime) *wizard.CompiledIOP { |
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.
Yes, to the idea to construct it as a verifierAction as it is simple and small enough. But the API of the function cannot make sense as is. We will fix this when integrating with the conglomeration that I wrote.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## prover/limitless-top-level #627 +/- ##
=============================================================
Coverage ? 68.49%
Complexity ? 1130
=============================================================
Files ? 321
Lines ? 12842
Branches ? 1287
=============================================================
Hits ? 8796
Misses ? 3506
Partials ? 540
*This pull request uses carry forward flags. Click here to find out more. |
* crosse compiled iop for lpp * testing for distributed inclusion
This PR implements the crosse compiledIOP responsible for cross-checking among segments.
Checklist