A new proof type which removes on-chain interaction simplifying the whole onboarding pipeline and allowing for a real separation between storage and proving, without compromising security.
Quick Links
PoRep is currently interactive and it is composed by two steps: PreCommit
and ProveCommit
.
At PreCommit
SP put down a collateral and wait 150 epochs in order to receive a challenge seed from the chain which enables the ProveCommit
step. This means that
ProveCommit
needs to happen within a time window lasting MaxSectorDuration
epochs.PreCommit
needs a collateral, there is no real possible trustless separation between the entity which stores the sector and the entity which actually proves it. This means that if anyone wants to outsource the task of proving a sector, then the entity which proves and the entity which outsource the task need to agree on who puts down the collateral (trusting the other part).A first step to mitigate PoRep bottlenecks was the introduction of Synthetic PoRep. Nevertheless, if we really want to remove the aforementioned limitations, NI-PoRep is the way to go: indeed, non interactive PoRep would remove the PreCommit
step, without compromising security, allowing for a simplified pipeline which can reduce costs and enable a full separation between storage and proving. Note that this is particularly relevant now that we have SaaS and SN sealing software (see below).
There are two ways we can get NI-PoRep
In this doc, we assume to re-use existing circuits.
Why NI-PoRep in Filecoin?
Improvements of NI-PoRep vs status quo