Skip to content
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

parampublish should publish only the current set of parameters and keys #462

Open
sidke opened this issue Jan 29, 2019 · 3 comments
Open
Assignees
Labels
A-filecoin-proofs enhancement New feature or request

Comments

@sidke
Copy link
Contributor

sidke commented Jan 29, 2019

Description

Every Git SHA in the rust-fil-proofs repository is associated with one set of publishable Groth parameters. It is sometimes the case that two Git SHAs use the same Groth parameters. Sometimes the source code changes such that new parameters are required. The new version of the source code has a Git SHA, and that Git SHA is associated with a set of Groth parameters (and verifying keys) which may not perfectly overlap with the old version of the source code (i.e. new and old versions may share the same PoSt Groth parameters and verifying keys - but PoRep Groth parameters and keys may have changed).

The parampublish tool, built from a Git SHA X, currently asks the user to publish each file found in the $PARAMETER_CACHE_DIR which has a .params or .vk extension. It may be the case that a file in $PARAMETER_CACHE_DIR is no longer used by the rust-fil-proofs source at Git SHA X (because it was published in the past). If that is the case, parampublish should not prompt the user to publish that file. parampublish built from rust-fil-proofs at X should also remove files from the parameters.json manifest which are no longer used by rust-fil-proofs at X.

Acceptance criteria

Start with an empty $PARAMETER_CACHE_DIR directory. Run paramcache built from some Git SHA to populate the directory. Check out a more recent version of rust-fil-proofs and rebuild paramcache. This new version of rust-fil-proofs should use a different set of Groth parameters and verifying keys than the earlier version. Run the new version of parampublish with the --all flag and verify that:

  • $PARAMETER_CACHE_DIR contains only the Groth parameters and verifying keys used by the new version of rust-fil-proofs
  • parameters.json includes only the Groth parameters and verifying keys used by the new version of rust-fil-proofs

Regardless of which flags are passed to paramcache, do not publish any parameters which are not the parameters which the corresponding paramcache would generate.

@sidke sidke self-assigned this Jan 29, 2019
@laser
Copy link
Contributor

laser commented Jan 30, 2019

This is a sub-issue of #344

@dignifiedquire
Copy link
Contributor

@laser what exactly is missing here? #344 seems to be closed

@laser laser self-assigned this Jul 19, 2019
@laser
Copy link
Contributor

laser commented Jul 19, 2019

@dignifiedquire - I just added a more thorough description of the problem.

@laser laser changed the title Distributed Params - parampublish pt 2 parampublish should publish only the current set of parameters and keys Jul 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-filecoin-proofs enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants