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
The nature of public params in Arecibo presents a key opportunity for improvement, particularly in relation to how many bases are used in the CommitmentKey, which bases are the same for any proof using the IPA PCS (i.e. before Zeromorph, all of them).
Current Behavior:
The CommitmentKey acts as a universal parameter and ideally, we'd have a single large disk copy stored for big circuits, which can then be trimmed down as needed. The key difference between two Nova proofs (and possibly, the kind of SNARK they use) should be solely based on the number of elements they require.
Desired Behavior:
Ensure a single, universal CommitmentKey is stored and utilized to trim down specifics for each proof.
Advantages:
This would be a crucial step towards implementing Zeromorph (arecibo/issues/19). In the PCS system of Zeromorph, which mandates a universal setup, there's a clear demarcation between Public Parameters (universal) and the Prover Key (specific to proof).
There's also an opportunity to save substantial space. In Nova, unlike SuperNova which builds the CommitmentKey separately, the CommitmentKey is encapsulated within public parameters. As a result, any serialization duplicates it. Mutualizing it among proofs will yield significant space savings (lurk-rs/issues/387).
The text was updated successfully, but these errors were encountered:
I think there's a growing argument here to move the Lurk config/cache infra to arecibo. The main reason why is because it would make the most sense for arecibo to be responsible for its own commitment keys. For example, having the infra in Lurk wouldn't help if you needed to run many tests that needs to regenerate keys in arecibo. A secondary reason is to manage the memory pressure of public params. We could have the commitment key separate and only allocate it in when we need to commit something. What do you think?
The nature of public params in Arecibo presents a key opportunity for improvement, particularly in relation to how many bases are used in the
CommitmentKey
, which bases are the same for any proof using the IPA PCS (i.e. before Zeromorph, all of them).Current Behavior:
The CommitmentKey acts as a universal parameter and ideally, we'd have a single large disk copy stored for big circuits, which can then be trimmed down as needed. The key difference between two Nova proofs (and possibly, the kind of SNARK they use) should be solely based on the number of elements they require.
Desired Behavior:
Ensure a single, universal
CommitmentKey
is stored and utilized to trim down specifics for each proof.Advantages:
This would be a crucial step towards implementing Zeromorph (arecibo/issues/19). In the PCS system of Zeromorph, which mandates a universal setup, there's a clear demarcation between Public Parameters (universal) and the Prover Key (specific to proof).
There's also an opportunity to save substantial space. In Nova, unlike SuperNova which builds the CommitmentKey separately, the CommitmentKey is encapsulated within public parameters. As a result, any serialization duplicates it. Mutualizing it among proofs will yield significant space savings (lurk-rs/issues/387).
The text was updated successfully, but these errors were encountered: