This is a draft of https://github.com/filecoin-project/FIPs/discussions/298 rebasing it on top of FIL+ indefinite term limits, which makes all the changes to the verified registry actors.
This replaces Architecture for programmable storage markets.
TODO:
This proposal is a refactoring of the APIs and interactions between the storage miner actor, built-in storage market actor, and Filecoin Plus verified registry actor to provide a platform for alternative storage markets, incentive schemes, and other sector-content-related applications to be built on the FVM.
The thrust of the architecture is a decoupling and separation of concerns between the three actors. Notable points include:
This proposal requires FIP-0034 simplifying pre-commit deposit as pre-requisite.
This proposal is complemented by to miner←→market registrations: if/when we support updatable sector content we would need such a notification mechanism.
High level motivation for why to provide a platform for alternative storage markets and other content-related contracts is given in #241.
We need to change the storage market contract architecture because the current structure does not provide the information and hooks that would be needed by new applications to implement storage-deal-like functionality. It privileges the built-in market actor as the one which the storage miner actor consults. In order to enable the development of useful storage-related applications and features, we need to break the tight coupling between these built-in actors, expose composable on-chain primitives, and make the capabilities of the built-in market actor available to user-programmable contracts.