builtin-actors icon indicating copy to clipboard operation
builtin-actors copied to clipboard

Implement FIP-0090: Non-Interactive PoRep

Open rjan90 opened this issue 10 months ago • 1 comments

This is a tracking issue for the implementation of FIP-0090: Non-Interactive PoRep

Spec for FIP-0090: https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0090.md#specification

### Tasks
- [ ] https://github.com/filecoin-project/rust-fil-proofs/pull/1734
- [ ] Rust-filecoin-proofs-api: https://github.com/filecoin-project/rust-filecoin-proofs-api/pull/98
- [ ] Update dependencies and proof-types in the Ref-FVM repo: https://github.com/filecoin-project/ref-fvm/pull/1999
- [ ] Filecoin-FFI: https://github.com/filecoin-project/filecoin-ffi/pull/453
- [ ] Built-in Actors: https://github.com/filecoin-project/builtin-actors/pull/1537

Previous PRs that can be of help when implementing NI-PoRep: The PRs that was made for FIP-0059: SyntheticPoRep in the same repos can be a helpful guide for the implementation of FIP-0090: Non-Interactive PoRep. The Synthetic PoRep PRs was:

  • In the Rust-filecoin-proofs-api repo: https://github.com/filecoin-project/rust-filecoin-proofs-api/pull/87
  • In the ref-fvm repo: https://github.com/filecoin-project/ref-fvm/pull/1811
  • In the Filecoin-FFI repo: https://github.com/filecoin-project/filecoin-ffi/pull/400
  • In the Built-In actors repo: https://github.com/filecoin-project/builtin-actors/pull/1409
  • In the Go-State-Types repo: https://github.com/filecoin-project/go-state-types/pull/193

rjan90 avatar Mar 26 '24 14:03 rjan90

General

  • [ ] Run the disputer while the running e2e-testing

32GiB-sector sizes:

  • [ ] Extend the sector lifetime of a sector sealed with NI-PoRep
  • [ ] Snap a NI-PoRep sector with a deal.
  • [ ] Snap a NI-PoRep sector with datacap, and confirm additional QAP
  • [ ] Pass WindowPoSt with sectors sealed with NI-PoRep
  • [ ] Fail a WindowPoSt with sectors sealed with NI-PoRep, and confirm it successfully recovers
  • [ ] Terminate sector(s) that was sealed with NI-PoRep
  • [ ] Compact partition(s) that includes sectors sealed with NI-PoRep
  • [ ] ProveCommitSectorsNI with Seal-Proofs and Aggregate-Proof
  • [ ] Onboard a sector sealed with NI-PoRep, submit a fake/bad proof for it, and confirm it gets caught by the disputer

64GiB-sector sizes:

  • [ ] Extend the sector lifetime of a sector sealed with NI-PoRep
  • [ ] Snap a NI-PoRep sector with a deal.
  • [ ] Snap a NI-PoRep sector with datacap, and confirm additional QAP
  • [ ] Pass WindowPoSt with sectors sealed with NI-PoRep
  • [ ] Fail a WindowPoSt with sectors sealed with NI-PoRep, and confirm it successfully recovers
  • [ ] Terminate sector(s) that was sealed with NI-PoRep
  • [ ] Compact partition(s) that includes sectors sealed with NI-PoRep
  • [ ] ProveCommitSectorsNI with Seal-Proofs and Aggregate-Proof
  • [ ] Onboard a sector sealed with NI-PoRep, submit a fake/bad proof for it, and confirm it gets caught by the disputer

rjan90 avatar Apr 23 '24 15:04 rjan90

Marking this as done given v14.0.0-rc1 was cut and is being incorporated into Lotus v1.28.0-rc1 as part of https://github.com/filecoin-project/lotus/pull/12147

BigLep avatar Jun 25 '24 21:06 BigLep