builtin-actors
builtin-actors copied to clipboard
Implement FIP-0090: Non-Interactive PoRep
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
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
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