Logo
    [2023Q2] CC Sector Upgrade: Guidelines and Modeling
    ↗️

    [2023Q2] CC Sector Upgrade: Guidelines and Modeling

    Authors
    Creator
    Created
    May 3, 2023 9:03 AM
    Project
    Storage on-boarding
    Stage
    Still Valid

    @ @ @Nicola May 2023

    👨‍🚀
    TL;DR:

    Upgrading existing CC sectors appears to be one of the best opportunities for Filecoin Storage Providers (SPs): If Verifiable Deals and existing CC sectors are available, SPs may consider upgrading those sectors rather than sealing new ones in order to minimise new costs.

    More in general, the difference in cost between upgrading a CC sector and adding a new deal native sector is small and should not prevent SPs to consider the upgrading strategy.

    Outcomes may vary by SP, so we invite you to do your own research.

    • 🥁 Context
    • 🚀 Outcomes
    • 📡 Future scenarios
    • 📐 Modeling
    • Assumptions
    • Definitions
    • Pipelines
    • Parameters
    • Formulas

    🥁 Context

    👨‍🚀
    This document presents
    • The different storage pipelines which are available in the Filecoin Network today
    • Models of the cost expected when using snapping versus not

    In the Filecoin network, a Storage Provider (SP, for short) can seal two different types of sectors

    • CC sectors: data set by default to zero
    • Deal sectors: data obtained from storage clients

    Thanks to FIP0019 (”SnapDeal”) and the introduction of the ReplicaUpdate method, it is possible to inject data into CC sectors. This means that Storage Providers who want to store client data currently have two different options:

    • Sealing a deal sector (ie, sealing a new sector with data from clients)
    • Upgrading a CC-sector via SnapDeal to inject data from clients. We differentiate between
      • Upgrading an existing CC sector
      • Sealing a new CC sector and then immediately upgrading it (CC sector upgrade pipeline)

    Our model aims to compare all the different strategies at Storage Providers' disposal to store client data.

    🚀 Outcomes

    Upgrading an existing CC sector Vs Deal Sector

    ➡️ Per our model, upgrading existing CC sectors appears to be one of the best opportunities for Filecoin Storage Providers.

    Our model estimates the cost of upgrading an existing CC sector to be equivalent or even less than the cost of adding a new deal sector to the network (assuming no FIL leasing cost and not accounting for the past cost of sealing for the existing CC sector). Today (7th July 2023) the difference in cost is of 0.05$ per 32GiB sector (1.6$ per TiB). Since this is based off of dynamic calculations (especially gas price), the mileage may vary. Moreover, future protocol changes (see below) may increase this difference in favour of the upgrading CC sector pipeline.

    CC Upgrade Pipeline Vs Deal Sectors

    ➡️ If no access to verified deals, starting with a CC sector and upgrading later also works.

    Indeed, the difference between the CC sector upgrade pipeline and the deal native sector pipeline is NOT remarkable. And moreover, in our current modeling, we do not considering misc. costs such as electricity, bandwidth, labor costs, … We expect the real difference to be considerably closer, given that overall total cost difference will be minimal when introducing misc. costs.

    Further Observation on Verified Deals Availability

    🔍 If verifiable deals are available but there are no existing CC sectors available, the Storage Provider should consider sealing new sectors with verified deals.

    📡 Future scenarios

    Possible future changes on the CC-Sector Upgrade pipeline

    💰Cheaper CC sector acquisition

    Our modeling is considering sealing a CC sector and a deal sector to have the same cost. If we assume that acquiring a CC sector is cheaper than sealing a new deal sector, then the CC sector pipeline profit would be closer to (or even higher than) the one for deal sector. Factors that could make CC sector acquisition cheaper than sealing a new deal sector could include:

    • SaaS pipeline/improvement focused on CC sectors
    • Pre-sealed sector market

    ⛽ Different gas accounting for deal and sector (re)activation

    One of the differences highlighted in the comparison between CC Sector Upgrade and Deal Sector is due to gas fees accounting. In particular, as of today (7th June 2023):

    • Single sectors with deals do not pay sector activation and deal activation gas costs (which is subsidized by Cron).
    • Sectors sealed through the CC sector pipeline pay sector reactivation and deal activation gas costs.

    This fact represents a protocol quirk which prevents the two pipelines from be fairly compared. In the future, there might be changes in order to re-balance the gas accounting for deal activation. See for example, this discussion. In this case, we expect the cost of the CC sector upgrade and the deal sector pipelines to be closer.

    ✌️ Reducing SnapDeal costs

    Another option to improve on CC Sector upgrade pipeline is reducing proving costs of the SnapDeal protocol. There have been some attempts to address this issue (see FIP discussions 645).

    📐 Modeling

    In our modeling, we look at the various strategies (i.e. pipelines) available for storing data in the Filecoin network. This modeling computes the estimated costs and rewards of each pipeline using basic SP resources as model inputs and relying on a few realistic assumptions.

    Assumptions

    • 32GiB sectors
    • Deals with same size as sectors (ie, 32GiB). Note that this is coherent with the status quo (average verified deals size is ~30GiB, see related statistics in Starboard here).
    • Verified deals only, assuming deals duration matching the remaining sector lifetime when they are activated (ie, a sector can be extended if needed).

    Definitions

    Pipelines

    The different pipelines any Storage Provider (SP) can choose in the Filecoin Network are described below:

    🛑 Not Mining: SP not mining. Sectors are not sealed nor upgraded 🟪 CC Sector Only (cc pure): SP sealing CC sector only (no deals) 🔵 Deal sector (deal sector): SP sealing sectors natively with deals 🔶 Full CC-sector Upgrade (cc fil+): SP sealing new CC sectors and upgrading them via SnapDeal 🟨  Existing CC-sector Upgrade (cc existing fil+): SP upgrading existing CC sectors via SnapDeal

    Parameters

    Cost_B
    Bandwidth cost for 32 GiB transfer
    —
    Currently non considered in the model
    Cost_S
    Cost of 32GiB storage
    We considered HDD Manufacture Deal of 18$ per TB
    We assume storage costs are stable for a time window of 2 years and a redundancy factor of 1.25 per sector
    lendingR
    Lending interest rate
    —
    In the model, we allow for tunable lending interest rate.
    Cost_L(lendingR)
    Lending cost of 1 $ for one day
    —
    This parameter is used in order to estimate capital cost of tokens lent to seal a deal sector at time t
    Cost_M(t, t’)
    Maintenance cost for a 32 GiB sector from time t to time t’. This parameter is the sum of - WindowPoSt costs (proving and gas costs) - Operational costs (TBD)
    For WindowPoSt related gas costs • Filfox • Starboard
    Cost_dgas
    Gas cost for a sector with deals (PublishStorageDeals message)
    • Filfox • Starboard
    Note that deal activation gas costs for deal native sectors are currently subsidized by cron. This may change soon.
    Cost_dataLat
    Latency costs (includes idle time) related to data acquisition
    —
    Currently not considered in the model. This cost is the same for: - Deal Sector - Full CC Sector Upgrade - Existing CC Sector Upgrade
    Name
    Description
    Source
    Comment
    BR(t)
    Expected share of the block reward that a 32GiB sector with no deal gives in a day (computed at time t)
    Filfox
    d
    Sector lifetime in days
    —
    d0
    Waiting time (in days) for FIL+ deals to be available
    —
    IP_cc(t)
    Initial Pledge for CC sectors at time t
    Filfox
    IP_filplus(t)
    Initial Pledge for sectors with Verified Deals at time t
    Filfox
    Cost_ccseal
    Cost of sealing a CC sector (PC1, i.e. labeling only)
    —
    This cost is currently the same as Cost_dseal but we keep them separate for full flexibility of the model
    Cost_ccproving
    Cost of proving a CC sector (PC2 + C2)
    —
    This cost is currently the same as Cost_dproving but we keep them separate for full flexibility of the model
    Cost_ccgas
    Gas cost for sealing CC sectors
    • Filfox • Starboard
    Cost_dseal
    Cost of sealing a sector with deals (PC1, i.e. labeling only)
    0.114$ per sector (considering two CPUs and some RAM as HW)
    This cost is currently the same as Cost_ccseal but we keep them separate for full flexibility of the model
    Cost_dproving
    Cost of proving a sector with deals (PC2 + C2)
    estimated $0.2 per sector
    This cost is currently the same as Cost_ccproving but we keep them separate for full flexibility of the model
    Cost_dataOp
    Operational costs related to data acquisition
    —
    Currently not considered in the model. This cost is the same for - Deal Sector - Full CC Sector Upgrade - Existing CC Sector Upgrade
    Cost_dealGas
    Gas cost for deal publishing (PublicStorageDeals message)
    • Filfox • Starboard
    This cost refers to the PublicStorageDeals message and the absolute cost is the same for: - Deal Sector - Full CC Sector Upgrade - Existing CC Sector Upgrade Nevertheless, the amortized costs depends on the number of deals published together in each scenario.
    Cost_snapembed
    Cost of embedding data when snapping
    —
    Currently not considered in the model. We expect this cost to be minimal.
    Cost_snapproving
    Proving cost of the SnapDeal protocol (~ cost of C2 with the current SnapDeal protocol)
    0.1$ per snap
    Cost_snapgas
    Gas cost for a snapped sector
    • Filfox • Starboard
    Note that while deal activation gas costs for deal native sectors are currently subsidized by cron, in case of SnapDeal gas activation, costs are charged with the ProofReplicaUpdates message. This discrepancy may change soon.
    Cost_snapextra
    Cost of storing the old CC replica for 900 epochs before deletion after Snap is completed
    —
    Note that this cost is really minimal.

    Formulas

    Pipelines are modeled in terms of Reward, Costs and Profit:

    ‣
    🛑 Not Mining
    ‣
    🟪 CC Sector Only (cc pure)
    ‣
    🔵 Deal-sector Pipeline (deal sector)
    ‣
    🔶 Full CC-sector Upgrade Pipeline (cc fil+)
    ‣
    🟨  Existing CC-sector Upgrade Pipeline (cc existing fil+)

    CryptoNet is a Protocol Labs initiative.