# Filecoin Plus

Filecoin Plus aims to enable the demand side of the Filecoin network and maximize the amount of useful storage on Filecoin by adding a layer of social trust to the network and introducing a novel resource called DataCap. Clients looking to onboard storage onto the network apply to community-selected Notaries to receive DataCap, which can be used to incentivize storage providers to take storage deals.

# Concepts

Filecoin Plus is based on a set of guiding principles, detailed in FIP-0003 (opens new window), that focus the program on increasing Filecoin's effectiveness at becoming the decentralized storage network for humanity's most important information.

Root key-holders, notaries, clients, and storage providers, interact through the allocation and spending of DataCap. Notaries retrieve DataCap in batches and then allocate it to trustworthy clients that spend the DataCap to fund storage deals. Storage Providers that receive DataCap receive a 10x boost to their quality-adjusted power for the storage space offered in that deal, which increases their block reward share in the network. This creates a mechanism that incentivizes all participants to make Filecoin more useful.

# DataCap

DataCap, when allocated to a client, can be spent by the client in storage deals with storage providers. Those deals carry a higher deal quality multiplier, which increases the "quality adjusted power" of the storage provider on the network by a factor of 10, yielding better block rewards for the storage provider over time. DataCap is granted in batches to Notaries, who can allocate it to clients that spend the DataCap to fund storage deals. DataCap is consumed as it is used to make deals.

# Notary

Notaries are selected to serve as fiduciaries for the Filecoin Network and are responsible for allocating DataCap to clients with valuable storage use cases. The base responsibilities of notaries include:

  • Allocate DataCap responsibly to clients to subsidize reliable and valuable storage on the network.
  • Ensure that in the allocation of the DataCap, no party is given excessive trust in any form that might jeopardize the network.
  • Follow operational guidelines, keep a record of decision flow, and respond to any requests for audits of their allocation decisions.

You can find a list of current active notaries at plus.fil.org (opens new window).

Notaries are selected through an application process (opens new window). If approved, root key-holders (opens new window) (executors of the decisions made by the community on-chain) grant notary status and DataCap amounts. Those interested in becoming Notaries should apply for this role by filing an Issue in the notary governance repo (opens new window).

# Client

Clients can use their DataCap to incentivize storage providers to serve their needs. This can include providing additional features and levels of services that meet their specific requirements. In doing so, storage-related goods and services on Filecoin are made more valuable and competitive over time. Notaries vet clients to ensure the client receives DataCap commensurate with their reputation and needs and that the client responsibly allocates that DataCap.

# Using DataCap

# Get DataCap

Clients are required to have an on-chain Filecoin address where DataCap can be received. If you are setting up a new address, make sure to initialize it by sending a minimal amount of FIL to the address by purchasing some FIL from an exchange, for example. You will need an address to proceed with getting DataCap in any of the following ways.

Note: As of network version 12, DataCap allocations are a single-use credit on a Filecoin address. If you receive an allocation and require more, you should make a new request with a unique address that you have initialized like above. FIP-0012 (opens new window) was accepted and implemented in network version 13(actor v5), which allows client addresses to receive DataCap multiple times.

Clients get DataCap by making a request to a notary. For your first DataCap allocation of 32GiB, you can use an auto-verifier such as https://verify.glif.io/. Auto-verifiers exist to grant DataCap immediately to clients that can authenticate themselves via a specific method. For example, the verify.glif.io automatic notary grants DataCap to clients who have a GitHub account that is > 180 days old and has not been used at this site in the past 30 days.

  1. Head over to https://verify.glif.io/
  2. Connect your GitHub account - click the Start button on the top right of the page
  3. Sign in to GitHub if you have not already
  4. Paste in the address to which you'd like to receive DataCap in the box under "Request" and hit Request
  5. The auto-notary will now attempt to send a message to the Filecoin Network whereby your address will be granted 32GiB of DataCap. This will take about 1 min
  6. When complete, you now have 32GiB to start making deals with! You can always come back to this site and use the "Check" box to see how much DataCap you have left on a specific address

For receiving DataCap at a larger scale (for business needs and production use cases), depending on the amount of data being onboarded to the network, a client has two options:

  • Applying directly to a specific notary - best for clients looking for < 100TiB of DataCap
  • Applying for a Large Dataset notary dedicated to a specific project - best for clients looking for > 100TiB of DataCap (usually in the 500TiB-5PiB range)

For applying directly to a specific notary:

  1. Head over to the Filecoin Plus Registry (opens new window), and proceed with For Clients
  2. Click Get Verified
  3. Click on General Verification. This link will take you to the notary registry, where you can request DataCap to a specific notary. Notaries may specialize in the types of requests they'll choose to support. It is recommended that you select a notary in your region of operation that also covers the general category of Use Case you would classify yourself under
  4. Identify the notary you would like to apply to by selecting the checkbox on their row, and click Make Request
  5. Fill out the form that should pop up. This is used by notaries in conducting any necessary due diligence before granting you the requested DataCap
  6. Click Sign in with GitHub to allow the app to create a GitHub issue on your behalf
  7. After you are signed in, the button should change to Send request. Click this to have an issue created on your behalf and sent to the right notary!

Each request is tracked as a GitHub issue in the Fil+ Client Onboarding repo (opens new window). You can follow the progress of your application there as well. Notaries may ask for additional information before they will allocate you DataCap.

To apply for a Large Dataset Notary, follow the steps at Applying for a large DataCap allocation (opens new window).

# Spend DataCap

Once you have an address with DataCap, you can make deals using DataCap as a part of the payment. Because storage providers receive a deal quality multiplier for taking Fil+ deals, many storage providers offer special pricing and services to attract clients who use DataCap to make deals.

By default, when you make a deal with an address with DataCap allocated, you will spend DataCap when making the deal.

If making deals through the API (opens new window), make sure that the VerifiedDeal parameter is set to true when calling ClientStartDeal.

[
  {
    "Data": {
      "TransferType": "string value",
      "Root": {
        "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
      },
      "PieceCid": null,
      "PieceSize": 1024
    },
    "Wallet": "f01234",
    "Miner": "f01234",
    "EpochPrice": "0",
    "MinBlocksDuration": 42,
    "ProviderCollateral": "0",
    "DealStartEpoch": 10101,
    "FastRetrieval": true,
    "VerifiedDeal": true
  }
]

If making deals from the command line, make sure to pass the flag --verified-deal=true as a parameter.

 lotus client deal --verified-deal=true

# Checking remaining DataCap balance

Once you have received DataCap to an address, you can check the remaining balance either by visiting a site that enables this (e.g. verify.glif.io (opens new window)) or by querying your address on a node.

# With lotus v1.10.0 ^

lotus filplus check-client-datacap f00000

# With lotus v1.9.0 and below

Note: Lotus-shed (opens new window) is a separate package you will need to build and install (make lotus-shed in the Lotus (opens new window) source), although these features are slated to be merged into Lotus.

lotus-shed verifreg check-client f00000

# Finding storage providers to take Fil+ deals

There are a few different ways in which a client can find a storage provider to take a Fil+ storage deal:

  1. In the For Clients section of the Filecoin Plus Registry (opens new window), there is a Miner Registry (opens new window) which lists a self-selected set of miners who are willing to take Fil+ storage deals
  2. Use a Miner Reputation system such as Filecoin Reputation System (opens new window) or Textile's Miner Index (opens new window) to identify storage miners who can meet your needs
  3. Join the #fil-plus (opens new window) channel on Filecoin Slack to discuss storage options
  4. Hop into the network with your node and query storage providers (using query-ask) to check their verified deal prices

# Get involved in Fil+ governance

If you are interested in participating in governance and shaping the program, here is how you can get involved: