filecoin-project / lotus

Reference implementation of the Filecoin protocol, written in Go
https://lotus.filecoin.io/
Other
2.85k stars 1.27k forks source link

Implement SynthPoRep #10984

Closed rjan90 closed 1 year ago

rjan90 commented 1 year ago

WIP tracking issue for SynthPoReps: https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0059.md

User story

Acceptence criteria (SP):

Acceptence criteria (SaaS):

Techincal scope

### Synthetic PoRep Development
- [ ] https://github.com/filecoin-project/filecoin-ffi/pull/400
- [ ] https://github.com/filecoin-project/rust-fil-proofs/pull/1701
- [ ] https://github.com/filecoin-project/rust-filecoin-proofs-api/pull/87
- [ ] https://github.com/filecoin-project/filecoin-ffi/pull/404
- [ ] https://github.com/filecoin-project/lotus/pull/10970
- [x] fvm: https://github.com/filecoin-project/ref-fvm/issues/1791
- [x] actor: https://github.com/filecoin-project/builtin-actors/issues/1314
- [x] ffi: update fvm deps:

We also need to introduce a network upgrade to introduce synthetic porep, thus we need to implement the barebone for nv21 in lotus to unblock testing.

### add barebone nv21
- [x] fvm: https://github.com/filecoin-project/ref-fvm/issues/1791
- [x] actor: v12
- [x] gst: https://github.com/filecoin-project/go-state-types/issues/190
- [ ] https://github.com/filecoin-project/lotus/issues/10993
- [x] Integrate actors v12 into Lotus using the pack.sh script
### Testing
- [x] Butterfly testing plan for SynthPoRep: https://www.notion.so/pl-strflt/SynthPoRep-Butterfly-network-testing-59e22e4e10a24521b50135571e67391f?pvs=4
- [x] Calibration testing plan for SynthPoRep
### Deliverable
- [x] Include segment on SP feedback of early testing [Orjan/nemo]
- [x] Blog post/media for explaining why all SPs want to use this [luca/irene/nemo]
- [x] Network upgrade timeline

Current proposals for the network upgrade timeline can be seen here: https://github.com/filecoin-project/core-devs/discussions/140#discussioncomment-6052423

jennijuju commented 1 year ago

on acceptance criteria, I would break it down by SaaS provider and individual SP.

jennijuju commented 1 year ago

added fvm and actor development handoff issue & added a tasklist for add barebone nv21 - without it, we wont be able to test the synthetic porep work.

jennijuju commented 1 year ago

May I get an update on the status?

jennijuju commented 1 year ago

Latest update from @cryptonemo

https://github.com/filecoin-project/rust-fil-proofs/issues/1711#issuecomment-1623558947 - open by Jul 7th.

jennijuju commented 1 year ago

Should we at least include ONE SaaS provider in the testing plan (butterfly might be a good idea), unless we believe the regular SP pipeline would fully cover that too.

jennijuju commented 1 year ago

@snadrus once the actor and fvm code is ready, Andy will continue https://github.com/filecoin-project/lotus/pull/10970 in this sprint

jennijuju commented 1 year ago

We are hoping to have a deployable butterfly that accepts SythPoRep by the end of. the sprint (July 17th)

jennijuju commented 1 year ago

@rjan90 can I get a status update on this, how is testing going? are we close to landing PRs to nv integration branch?

rjan90 commented 1 year ago

Status update:

Next steps:

rjan90 commented 1 year ago

Closing this ticket now that the SynthPoRep-code has landed in the feat/nv21 branch..

Outstanding item from this epic, that can be seperated into their own tickets as they are more timeline dependent.

cryptonemo commented 1 year ago
* Blog post/media for explaining why all SPs want to use this [luca/irene/nemo]. In draft, but should be published closer to the Calibration-network upgrade IMO

FYI, draft is being finalized this week and we are scheduled for blog post release on Oct 3

rjan90 commented 1 year ago

Awesome @cryptonemo! Perfect timing👌