This page gathers ideas about what functionality we (users) want out of an improved on-chain storage market. After FVM, users will be able to write smart contracts to implement on-chain applications, including (a) things built on top of the built-in storage market, but also (b) new storage markets.
This page is about what features we want out of those storage markets. We're collecting these ideas in order to guide redesign of underlying protocol primitives to allow them. This is not a plan to actually implement these features. We want to find the smallest and simplest set of primitives that will enable users to build out new capabilities themselves.
Note: some of these may be achievable today via bridges and oracles on another blockchain.
Wants
High Priority
- Deals can span sectors (especially for data > 32GiB)
- Deal renewal: extend a deal's duration with the same provider
Medium priority
- Multisigs or other contracts can be deal clients
- Incremental funding: deal payment can be provided incrementally, not only all up front (related to deal renewal)
- Cancellation: negotiated early termination of a deal
Lower priority
- Deal lifetime can be longer than single sector lifetime (see: renewal)
- Deal provider transfer: move the storage obligation and payment streams to a new provider (with approval by client)
- List of use cases proposed by a provider in FIPs#196
- Deal client transfer: move deal control and rights to collateral to a new client ("tokenized deals")
- "Capacity" deal: client can change the data being stored during a deal
Use cases
Some use cases that should be possible with the above functionality
- Replication: the "same" deal with multiple providers
- Automated repair: incentivised negotiation of new deals to maintain some replication and lifetime policy
- On-chain matching/tender/offer/auction/bounty
- Insurance for deal failure
- Futures: contract for storage of data in the future. Then options, etc.
- Ability to set ACL permissions for data retrieval on specific deal content.
Related docs
- Berlin event discussing FVM use-cases (also here)
- Document to track FVM simplifications (WIP)
- FVM Use Cases