-
Notifications
You must be signed in to change notification settings - Fork 137
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
Optimization for open
for linear-code based PCS
#128
Comments
Yes! I would propose the name |
As discussed with @autquis and @Antonio95 , an alternative approach would be to turn the |
Sounds like a good idea to have |
Correct, that would be used in |
Hm then perhaps |
Sure, we can start with that and see how the name feels once it's implemented :) |
Would you want all schemes in the repo to have the hiding property? In #134 , we have added |
We can merge |
Summary
The current interface doesn't allow room for certain optimizations to
open
.Problem Definition
Specifically, for linear code schemes such as Ligero, during
commit
we compute the merkle root, and to create the proof inopen
we again recompute the merkle tree to then send merkle proofs for a bunch of leaf indices. Ideally theopen
stage shouldn't need to recompute the tree.Proposal
We introduce a gap between the output of
commit
and the input tocheck
.Namely,
commit
would return anExtendedCommitment
(akaPrivateCommitment
?) , andverify
would only receive theCommittment
. We also introduce a trivialinto()
method that's a no-op in all current schemes, but for linear codes it sheds a few fields, such as the coefficients matrix, extended coefficients matrix and the merkle tree, saving the need to recompute them.We can then leverage this new interface to further simplify the
commit
andopen
trait methods: instead of having a separate argumentrands
, we place therands
on theExtendedComittment
. Then theinto()
method would shed therands
field when converting it to be used incheck
.@Antonio95 @autquis @Pratyush
For Admin Use
The text was updated successfully, but these errors were encountered: