Logo

    WIP FIL+ Storage Market (OLD)

    Creator
    Nicola
    Created
    May 31, 2023 2:04 PM
    🧑‍🚀
    The current doc is at 🎯Direct data onboarding: impacts & work outline

    Problem

    Main problem: Expensive Gas costs

    A Storage Provider that wants to store client data must publish their deals on-chain via PublishStorageDeal. The Storage Market actor which governs these interactions is unfortunately very gas expensive.

    PublishStorageDeal accounts for 40% of the total costs. As a bug, deal activation costs are currently paid by cron, but this must change.

    Other problem: Max duration is up to 5 years

    Secondary problems: The built-in storage market actor acts as the gatekeeper, designing new cheaper storage markets is not possible to do today (see 🕊️Free CommD: Unconstrained data applications on Filecoin for more details).

    Goal

    Create a cheaper and much simpler storage market, that has a similar flow (but not backward compatible) with the previous storage market.

    FIL+ Storage Market

    Step 1: FIL+ Direct

    Goal:

    • Make SPs directly create FIL+ allocations bypassing the storage market.
    • Allow new storage market contracts to be built to offer storage markets (to build step 2).

    Strategy

    • Enable Free CommD as described in 🎯Direct data onboarding: impacts & work outline

    Limitations:

    • SPs cannot receive payments
    • No explicit strategy for deal flow

    High level design: 🧩Deal onboarding actor interactions

    Step 2: FIL+ Storage Market

    This is a wrapper around FIL+ Direct that can handle payments to SPs.

    WORK

    It seems that we can’t do PublishStorageDeal and store the info that will go on the claim later on, so we either do PublishStorageDeal at the time of ProveCommit or we must change the registry to have “preclaims”

    General intuition

    • VerifiedRegistry.Claims are treated storage of most of the deal information, the remaining deal information (e.g. payment) will be in the FIL+StorageMarketActor
    • A deal is “activated” when an allocation is claimed.

    FIL+ Storage Market Actor

    • PublishStorageDeal: it receives datacap allocation
    • ProveCommitAndActivateDeals: The FIL+ Storage Market wraps Miner.ProveCommit and VerifiedRegistry.ClaimAllocation
    • Read functions for reading deal information partially from its own state and partially from VerifiedRegistry.Claims

    Handling of payments TODO

    • PublishStorageDeal

    Relevant docs

    • 🕊️Free CommD: Unconstrained data applications on Filecoin
    • 🧩Deal onboarding actor interactions
    • 🎯Direct data onboarding: impacts & work outline
    • 💻Data termination penalty—design sketch

    Previous Work

    (wip) Gas-cheap Storage Market (deprecated)

    CryptoNet is a Protocol Labs initiative.