🧐 Problem
- Filecoin already provides native deals (providers have hardware for this) to store and retrieve any kind of data;
- However, using the native deals for some kinds of data and applications may have some limitations. For example, native Filecoin deals are not enough to solve the Data Availability (DA) problem ( Data availability for blockchain ).
- In “Filecoin as Data Availability Layer”, we want to create a tool that makes using Filecoin to store and retrieve states and transactions data for the Ethereum blockchain efficient and easy, and that satisfies the DA features. In particular, today we can’t use Fileocin as a DA layer because:
- perpetual storage / automatic deal renewal is not provided
- retrievability is not guaranteed
- slow on-boarding data
- redundancy/reliability is not guaranteed
💫 Solution Overview
👥 Users
- Clients: who wants to store data (transactions/states) for data availability purposes (eg, nodes of a optimistic roll-up network).
- Storage Providers: Filecoin SPs who store and retrieve the data; we can think about providers organised in “Storage Pools”, and each pool offer all together the DA service with some specific public SLA.
📌 High level protocol
In the high level, we need a smart contract with these functionalities:
- CreateDealProposal:
- Clients call this to store data with a “storage pool” (set of storage providers), set price (optional), collateral (optional)and other storage and retrieval features (the “SLA”);
- AcceptDeal:
- The storage pool accept the proposal if enough providers in the pool got the data. These data are store in sectors in Filecoin (?)
- CheckStorage:
- Data Sampling?
🎯 Tools needed:
In order to implement the protocol mentioned above, we need two main tools:
- File Sharing Tool: The file should be made available to the Storage Pool from the Client. This can be done via IPFS
🖇️ Links
Reading list [private]:
Planning [private]: