You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our Marlin code base deserves some cleaning up. We still have left-overs from Marlin's initial AHP which are not necessary due to the coboundary sumcheck, and there are some structural improvements by arkworks we might want to take over.
In short,
we can get rid of individual degree bounds in the AHP, and rebrand AHP to an algebraic oracle proof instead (to be in alignment with our paper),
we could move constraint system related traits (i.e. the large part of the ahp/constraint_system.rs file) to ginger (arkworks seems to have done that), and
we should move the matrix arithmetization to the indexer submodule.
Beyond that, I recommend to switch to the Lagrange kernel instead of the UnnormalizedBivariateLagrangePoly, even if it comes slightly costlier in circuit. This is mainly for the following reasons.
The matrix arithmetization step becomes much simpler (we simply index the non-zero entries of the plain R1CS matrices ), and
we are in full alignment with our paper and the security analysis therein.
If we keep with the generalized derivative, I at least opt to remove the double transposition of matrices: The indexer outputs the transpose of the representation with respect to the (non-normalized) kernel (to be in alignment with the lincheck from Fractal), and then again transposes the arguments for Marlin's t-polynomial in the inner sumcheck.
For details see the TODO's I have pushed in a separate branch inline_docu for our cargo doc.
The text was updated successfully, but these errors were encountered:
P.S.: As we need to stay compatible with the mainchain verifier, I'd opt to provide two versions of Coboundary Marlin in our repo: coMarlin, which is in full alignment with our paper, and coMarlin_gd which works with the generalized derivative.
Our Marlin code base deserves some cleaning up. We still have left-overs from Marlin's initial AHP which are not necessary due to the coboundary sumcheck, and there are some structural improvements by arkworks we might want to take over.
In short,
ahp/constraint_system.rs
file) to ginger (arkworks seems to have done that), andBeyond that, I recommend to switch to the Lagrange kernel instead of the
UnnormalizedBivariateLagrangePoly
, even if it comes slightly costlier in circuit. This is mainly for the following reasons.If we keep with the generalized derivative, I at least opt to remove the double transposition of matrices: The indexer outputs the transpose of the representation with respect to the (non-normalized) kernel (to be in alignment with the lincheck from Fractal), and then again transposes the arguments for Marlin's
t
-polynomial in the inner sumcheck.For details see the TODO's I have pushed in a separate branch inline_docu for our cargo doc.
The text was updated successfully, but these errors were encountered: