Creator
Created
Nov 20, 2023 3:41 PM
FilSync
Architecture
Parties:
- Client
- Storage Provider
- Aggregator
- Buffer
- Repair
Overview:
- Client prepares data locally
- Client stores their data at the Buffer
- Client advertises their subpiece to the Aggregator
- Aggregator advertises their subpieces to the Storage Provider
- Storage Provider picks a set of subpieces from the Aggregator
- Storage Provider tries to retrieve the data from the Buffers
- If Storage Provider succeeds, SP generates a commitment and sends the list and the commitment to the Aggregator
- Aggregator verifies the commitment and sends a confirmation to the SP
- The client queries the Aggregator to learn about the status of their deal
- If Storage Provider loses deals, Repair gets the subpiece from available SPs and restart the process from 1 as a client
Client
- Put:
- Prepares the data
- Sends it to the buffer
- Advertises to the aggregator
- Waits until the deal is made and stores the info
- Get:
- Get the SP from the info
- Starts request to get the file
- List:
- Get the SP from the info
- Starts request to get the list of files
Aggregator
- (Client-facing) Put
- (Client-facing) Status
- (SP-facing) PullCIDs
- (SP-facing) AcceptCIDs
- Filecoin Deal Proposer API
Buffer
- (Client-facing) Put
- (SP-facing) Get
Repair
- (Client-facing) RequestService
- (Client-facing) Status
- Routine Check
Plan
- Offchain phase: The first plan is to have Repairs, Buffers and Aggregators as off-chain entities
- Onchain phase: The second plan is to turn Repairs, Buffers and Aggregators into smart contracts