This is a proposal to decouple commitments to storing data from sector lifetimes, allowing sector data to be replaced after being stored for some defined duration. Constraints on replacing data allow markets and other contracts to rely on data commitments, while giving SPs freedom to re-use sector capacity outside those commitments.

This idea was outlined in this presentation at Fil Dev Summit 2023, Singapore.

Motivations

Impacts of the proposal below

Technical design sketch

The word “commitment” below means the informal sense of an indication of what duration/epoch some sector/data is to be maintained for, rather than the cryptographic meaning.

Perpetual sectors (up to PoRep security bounds)

The sector ExpirationEpoch is removed, along with the ExtendSectorExpiration method. SPs don’t have to perform any action to maintain power for their onboarded sectors. Sectors expire only 5 years (a protocol parameter) after their ActivationEpoch. Note that a future protocol change could increase that 5 years to a longer period if we deem the current PoRep proofs still secure.

<aside> 💡 Longer periods require re-working the pre-commit deposit, which assumes a maximum sector reward, and hence lifetime. Non-interactive PoRep could obviate this.

</aside>