filecoin-project / bellperson

zk-SNARK library
Other
190 stars 120 forks source link

Switch to a more general supraseal_c2::generate_groth16_proofs interface. #315

Closed dot-asm closed 11 months ago

dot-asm commented 1 year ago

Verified to work in https://github.com/supranational/supra_seal/pull/39

vmx commented 1 year ago

The CI failure is unrelated. I'm working on fixing it.

vmx commented 1 year ago

@dot-asm I dared to rebase your PR on current master and push it. It should now pass the CI.

dot-asm commented 1 year ago

Sorry for taking so long for the review.

No need to apologize, I understand :-)

DrPeterVanNostrand commented 11 months ago

Hi @dot-asm, the From interface looks good to me (and I think the rest of the code too), but just to verify that I understand the PR... this change allows each witness assignment to carry unique denisity trackers, whereas previously, all witnesses were required to have their densities be constructed in an identical fashion?

dot-asm commented 11 months ago

this change allows each witness assignment to carry unique denisity trackers, whereas previously, all witnesses were required to have their densities be constructed in an identical fashion?

Well, the original goal was to streamline the interface and implementation, and the recognition that independent densities would be effectively free was kind of a collateral. Secondly, upon cutting the supraseal-c2 crate the original interface, the one this PR switches from, is just an adapter on top of the new interface, the one this PR switches to. So it's also kind of a cut-out-the-middle-man situation going on here.

DrPeterVanNostrand commented 11 months ago

@dot-asm Cool, thanks for the background info. The PR looks good to me