MOVED HERE -> https://docs.google.com/document/d/1y7HDeK2CpTUkZZ3Pwis6wtthFk1VC3_j8GPNvDCec7I/edit?usp=sharing
# Use Cases
Potential use cases for user-generated Filecoin actors in the Filecoin Virtual Machine (FVM), suggested by the ecosystem.
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
- [Multi-generational storage](#multi-generational-storage)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
## USE CASE #1 - Multi-generational storage
Suggested by Alex Fox - Neonix <firstname.lastname@example.org>
In the 1960's, the British Broadcasting Company (BBC), erased master copies of episodes of the popular television series Doctor Who. In the blink of an eye, this culturally significant data was lost to history. This story is repeated countless times -- no matter if the data is held by an individual, an organization, or a government. How can we guarantee reliable archival storage over periods of hundreds to thousands of years, or beyond?
What if we could spread the cost of storing and maintaining humanity's most important data among the people who want it to exist forever, including booking all necessary funding long into the future.
With a smart contract, creators could lock a FIL balance as a bounty. The bounty is distributed over time to multiple Storage Providers (SPs) who prove that they have a copy of the data. New SPs can begin to claim a share of the bounty at any time. The deflationary nature of the FIL token should ensure that the bounty remains lucrative in future.
## USE CASE #2 - Commodities market for storage
The varying nature of storage costs cause predictive challenges for those looking to store content for defined periods of times. Providing a way to smooth predictability about pricing for storing content, both for producers and consumers, will bring stability to this market and reduce spikey volatility.
For example - Producer stability:
- A producer expects to need to store 100TB over the next 100 days. They see that FIL varies between -50% and +50% over that time period and, further, they need to budget exactly how much they will spend over that time.
- They purchase a defined contract that hedges price to the current price per space/time over the fixed amount of time such that if the price fluctuates, the net cost to them remains constant.
- A miner is looking to build out their infrastructure and needs to ensure that they are always able to get a minimum of a certain price per unit of space/time.
- When they add a new machine, they buy a hedge against FIL for the current price per coin, so they can always predict their mining will always return a certain baseline per coin.
## USE CASE #3 - Stabilizing market-making action on storage market itself. In order to have it, we would need liquidity on a defi chain. Needs a bridge to an ERC20
- People promise to sell storage to each other. You can buy storage futures or other Derivatives
- **UNCLEAR** how this is different than above?
## USE CASE #4 - Bounty for Storage
- A data producer has a some data that they need stored according to a certain set of criteria (in this region, on machines with a certain profile, with a certain level of replication, etc).
- The producer uploads the content and gets a CID. They push the contract to the chain and attach FIL to it as a bounty for storing it.
- Anyone who can prove they belong within the given criteria can bid on storing it, and if they do so, they retrieve the bounty.
- Put CID and give the money and anyone can store it.
## USE CASE #5 - Crowd Funded storage
- Same as above, but the bounty is public - people other than the original poster can contribute to it.
## USE CASE #6 - Perpetual storage
- Same as above, but the bounty is on-going. (runs out?)
## USE CASE #7 - Preservation DAO
- People vote on what files need to be stored - a DAO is produced which dictates what files must be preserved.
## USE CASE #8 - Retrieval contracts.
- Unsealed data - ??
## USE CASE #9 - Capacity deals / write buffer
- Pay the miner for some storage and you can update that storage anytime you want
- Sometimes you don't want proof. Agree on the current checkpoint.
- When you go away
- When you update
- Tiring to sync a directory and back it up. I want to keep rewriting than the person I'm storing
- Extract information from proofs of retrieval
- Proof of retrievability
- Zero-knowledge contingent payments
- Contracts with auditors. They can cancel contracts in case of bad bits, can download file for me
- some set of trusted nodes that act as insurance
- Some DAO that elects the nodes that retrieve the file for you
## USE CASE #10 - Smart contract call GET data from Filecoin
- Adding an inclusion proof of data that you want to use and then use it in a smart contract
- Post a bounty I need the miner that needs this data to execute this message locally compute the proof and then add it to the chain
- Contract that says please give me this. (Chain link stuff)
- generalized over IPFS
## USE CASE #11 - Collateral Lending for the miner
- Rent market,
- Commodities market on collateral
## USE CASE #12 - Deal Market, sectors market
- Miner should be able to transfer things
- Insurance market, prediction market on which miner is going to fail
- Different types of deals
- You don't care about a number of copies you care that file is stored. Put a price you are willing to pay for file to be stored. People claim that they are storing the file. Everyone earns the money if there is always at least one storing
## USE CASE #13 - LiDo for FIL Holders
- White paper: [https://lido.fi/static/Lido:Ethereum-Liquid-Staking.pdf](https://lido.fi/static/Lido:Ethereum-Liquid-Staking.pdf)
- Value props:
- Idle FIL holders can "lend" to a set of trusted miners
- stFIL would allow them to interact with DeFi products whatever else exists
- stFIL would generate fees from miners that are consuming from the pool of capital
- Miners can borrow from the DAO (need some rules for eligibility)
- Miners can get cheaper rates
- Would need to be able to only withdraw block rewards / funds into SC controlled addresses
- Open qs:
- Does this break crypto econ assumptions?
- Probably would want different staking pools based on criteria (some sort of variable rate the DAO lends at based on track record / on chain perf )
## USE CASE #14 - RepairBots
- Smart contracts that ensure N number of copies of a dataset are stored for some period of time
- Should be able to read the chain to see that CID A is still being stored properly by Miners XYZ
- If a Miner goes offline, smart contract can retrieve can trigger a new storage deal for that CID (or pay out the client)
## USE CASE #15 - Data Auctions
- Bidbot exists - but having a smart contract that can programmatically run auctions allows for slightly more interesting use cases:
- Trustless smart contracts can be verified to not be abusing FIL+ throuhg inspection and mechanism design. Larger eligibility might make for easier flows for clients who have deal flow abstracted away
- Abuse control considerations
- Client likely needs to pay or lock some funds to not store garbage data. Funds may be returned over some period of time?
- Could pair this with a number of defi things to do interesting work
- If an AMM exists, you could allow the DataAuction to acecpt payment in any currency (and route through a liquidty pool)
- Could also manage treasury of the smart contract with somethign like balancer / index.
- Miners should be able to bid negative amounts and that goes into the funding of the smart contract.
- Could pair this funding with the RepairBots, LiDo ideas above.
## USE CASE #16 - Protocol Native Storage
- Very loosely defined - but if we have the above working as well, it would be interesting to see if we can enable protocol native bridges to allow triggering deals from ETH → FIL
- Would need to read more into how things like atomic swaps work - but you could imagine something like that that also includes some deal info in a message, and that then translates to the DataAuction smart contract allowing for stroage.
## USE CASE #17 - Dataverse and Data DAOs
- Represent the value of data sets through tokens, and incentivise value creation through data processing.
## USE CASE #18 - Replication workers
- Replicating data in the Filecoin network automatically across providers without client involvement
## USE CASE #19 - L2 commitments
- Provide consesus-backed commitment and provability facilities for L2 solutions like bridges, oracles, payment networks, rollups, and more.
## USE CASE #20 - Smarter storage markets
- Richer deal-making functionality to introduce more automation at the actor layer and alleviate infrastructure overhead.
## USE CASE #21 - Time-locked retrieval
- Make storage deals with data that cannot be retrieved by anyone until a specific window of time elapses.
## USE CASE #22 - Trustless reputation systems
- Find reputable providers to store data with.
## USE CASE #23 - Decentralized, verifiable computation