Venus: `Prover#VerifyPoST` should be passed the challenge seed used to generate the proof-of-spacetime

Created on 8 Nov 2018  路  4Comments  路  Source: filecoin-project/venus

Description

In order to verify a proof-of-spacetime, you need the inputs used when generating a proof-of-spacetime. The existing API design doesn't permit callers of the Prover#VerifyPoST method to provide the challenge seed used as input to Prover#GeneratePoST, which is a bug.

Acceptance criteria

Risks + pitfalls

Where to begin

C-bug protocol breaking 鈿狅笍

All 4 comments

Things remaining:

  1. Shannon needs to merge her changes to go-filecoin master. Those changes include a call to verify_post with the challenge bytes, but commented out.
  2. Once the aforementioned thing happens, Sidney will merge the rust-proofs changes to master.
  3. Once the aforementioned thing happens, Sidney will update the go-filecoin submodule SHA to point to the latest and greatest rust-proofs, and will remove the comments.

As part of this there needs to be some refactoring (in a separate branch); these changes break a ton of tests, for one. Just a heads-up.

Remaining issues:

  • The proof-of-spacetime generated by a storage miner M while "storage mining" (term borrowed from @ZenGround0) needs to generate a challenge seed using the block(s) at height N, where N equals the block height of at the beginning of M's current proving period.

~This work is currently blocked on this go-filecoin issue.~

This work is currently blocked on this go-filecoin issue, which will allow chain to be sampled for randomness outside of the state machine.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mishmosh picture mishmosh  路  9Comments

jscode017 picture jscode017  路  6Comments

phritz picture phritz  路  7Comments

phritz picture phritz  路  6Comments

phritz picture phritz  路  5Comments