Filecoin

What is Filecoin?

Filecoin is a decentralized, peer-to-peer digital storage marketplace using blockchain technology. It’s built on top of Inter Planetary File System (IPFS) and allows users to rent unused hard disk space and earn FIL tokens in return. Let’s see how Filecoin aims to shake up the online storage space.

What is filecoin offering?

Filecoin can offer an appealing alternative to purchasing Amazon S3 storage buckets, DropBox space, and getting locked into the same cloud storage contracts. With the right infrastructure, anyone can buy and sell storage on the Filecoin network while setting their own prices and making their own contracts. Let’s see how it works.

What are the advantages of using Filecoin?

Filecoin promises a number of advantages over centralized data storage solutions. They include:

💰 Cost - By creating a larger free market for data storage, this should drive the price down. 📈 Scale - Bringing millions of computers around the world together will create a huge storage network.

🌍 Economy - Instead of building new storage computers, Filecoin makes use of existing resources.

🔒 Safety - While Dropbox and iCloud have been hacked, a decentralized network means there is no single point of attack, making it harder to compromise.

Did you know? In 2012, Dropbox was hacked and 68 million user passwords were leaked on the Internet.

Disadvantages of Filecoin?

Some potential issues with Filecoin are:

🚗 Speed - Instead of accessing one server, it needs to access multiple servers to piece together documents when required. This depends on servers being online and Internet speeds.

📵 Dapp - By processing transactions using the Filecoin cryptocurrency, it creates a barrier to entry, as someone has to buy another coin and exchange it to use the service.

Filecoin: a DSN Construction

The Filecoin DSN is a decentralized storage network that is auditable, publicly verifiable and designed on incentives. Clients pay a network of miners for data storage and retrieval; miners offer disk space and bandwidth in exchange of payments. Miners receive their payments only if the network can audit that their service was correctly provided. In this section, we present the Filecoin DSN construction, based on the DSN definition and Proof-of Spacetime. Any user can participate as a Client, a Storage Miner, and/or a Retrieval Miner.

Clients pay to store data and to retrieve data in the DSN, via Put and Get requests.

Storage Miners provide data storage to the network. Storage Miners participate in Filecoin by offering their disk space and serving Put requests. To become Storage Miners, users must pledge their storage by depositing collateral proportional to it. Storage Miners respond to Put requests by committing to store the client’s data for a specified time. Storage Miners generate Proofs-of-Spacetime and submit them to the blockchain to prove to the Network that they are storing the data through time. In case of invalid or missing proofs, Storage Miners are penalized and loose part of their collateral. Storage Miners are also eligible to mine new blocks, and in doing so they hence receive the mining reward for creating a block and transaction fees for the Filecoin Report by IvanStake3transactions included in the block.

Retrieval Miners provide data retrieval to the Network. Retrieval Miners participate in Filecoin by serving data that users request via Get. Unlike Storage Miners, they are not required to pledge, commit to store data, or provide proofs of storage. It is natural for Storage Miners to also participate as Retrieval Miners. Retrieval Miners can obtain pieces directly from clients, or from the Retrieval Market.

Filecoin Architecture:

  • A storage deal is like a contract with a service level agreement (SLA) — users pay fees to storage providers to store data for a specified duration. To keep data safe, Filecoin uses a cryptoeconomic incentive model that regularly verifies the storage with zero- knowledge proofs. To incentivize storage providers to participate in deals, Filecoin Report by IvanStake4rewards them with the network's native token (FIL). At the same time, storage providers are slashed if the data is unretrievable or if the storage fails.

  • To retrieve data, Filecoin users pay a retrieval provider to fetch the data. Unlike storage deals, which involve transactions on-chain, retrieval deals use payment channels to settle payments off-chain, resulting in faster retrieval.

Mining Cycle (for Storage Miners) We give an informal overview of the mining cycle

Retrieval Miners.

Receive Orders: etrieval Miners get data requests from the Retrieval Market. Retrieval Miners announce their pieces by gossiping their ask orders to the network: they set their price and add an ask order to the market’s orderbook.

Get.AddOrders

• inputs: list of orders O1 ..On

• outputs: none Then, Retrieval Miners check if their orders are matched with a corresponding bid order from a client.

Get.MatchOrders

• inputs: – the current Retrieval Market OrderBook – query order to match Oq

• outputs: matching orders O1 ..On

Guarantees and Requirements

The following are the intuitions on how the Filecoin DSN achieves integrity, retrievability, public verifiability and incentive-compatibility.

Achieving Integrity: Pieces are named after their cryptographic hash. After a Put request, clients only need to store this hash to retrieve the data via Get and to verify the integrity of the content received.

Achieving Retrievability: In a Put request, clients specify the replication factor and the type of erasure coding desired, specifying in this way the storage to be (f, m)- Filecoin Report by IvanStake7tolerant. The assumption is that given m Storage Miners storing the data, a maximum of f faults are tolerated. By storing data in more than one Storage Miner, a client can increase the chances of recovery, in case Storage Miners go offline or disappear.

Achieving Public Verifiability and Auditability: Storage Miners are required to submit their proofs of storage (πSEAL, πPOST) to the blockchain. Any user in the network can verify the validity of these proofs, without having access to the outsourced data. Since the proofs are stored on the blockchain, they are a trace of operation that can be audited at any time.

Achieving Incentive Compatibility: Informally, miners are rewarded for the storage they are providing. When miners commit to store some data, then they are required to generate proofs. Miners that skip proofs are penalized (by losing part of their collateral) and not rewarded for their storage.

Achieving Confidentiality: Clients that desire for their data to be stored privately, must encrypt their data before submitting them to the market

Filecoin Storage and Retrieval Markets

Filecoin has two markets: the Storage Market and the Retrieval Market. The two markets have the same structure but different design. The Storage Market allows Clients to pay Storage Miners to store data. The Retrieval Market allows Clients to retrieve data by paying Retrieval Miners to deliver the data. In both cases, clients and miners can set their offer and demand prices or accept current offers. The exchanges are run by the Network - a personification of the network of full nodes in Filecoin. The network guarantees that miners are rewarded by the clients when providing the service.

Smart Contracts

Filecoin provides two basic primitives to the end users: Get and Put. These primitives allow clients to store data and retrieve data from the markets at their preferred price. While the primitives cover the default use cases for Filecoin, we enable for more complex operations to be designed on top of Get and Put by supporting a deployment of smart contracts. Users can program new fine-grained storage/retrieval requests that we classify as File Contracts as well as generic Smart Contracts. We integrate a Contracts system and a Bridge system to bring Filecoin storage in other blockchain, and viceversa, to bring other blockchains’ functionalities in Filecoin.

We expect a plethora of smart contracts to exist in the Filecoin ecosystem and we look forward to a community of smart-contract developers.

Contracts in Filecoin

Smart Contracts enable users of Filecoin to write stateful programs that can spend tokens, request storage/retrieval of data in the markets and validate storage proofs. Users can interact with the smart contracts by sending transactions to the ledger that trigger function calls in the contract. We extend the Smart Contract system to support Filecoin specific operations (e.g. market operations, proof verification). Filecoin supports contracts specific to data storage, as well as more generic smart contracts:

File Contracts: We allow users to program the conditions for which they are offering or providing storage services. There are several examples worth mentioning:

(1) contracting miners: clients can specify in advance the miners offering the service without participating in the market,

(2) payment strategies: clients can design different reward strategies for the miners, for example a contract can pay the miner incresignly higher through time, another contract can set the price of storage informed by a trusted oracle,

(3) ticketing services: a contract could allow a miner to deposit tokens and to pay for storage/retrieval on behalf of their users,

(4) more complex operations: clients can create contracts that allow for data update.

• Smart Contracts: Users can associate programs to their transactions like in other systems (as in Ethereum) which do not directly depend on the use of storage. We foresee applications such as: decentralized naming systems, asset tracking and crowdsale platforms.

Filecoin Software Development:

Filecoin Report by IvanStake9The Filecoin network utilizes several programming languages including WebAssembly (WASM), JavaScript (JS), C++, Rust, Ruby, and Go. Application development on the Filecoin decentralized cloud storage platform is enabled by several features:

  • Lotus and Lotus Node application programming interface (API) integration.

  • Filecoin testnets and devnets

  • InterPlanetary File System (IPFS) and Filecoin-backed Pinning Services (FPSs)

  • Filecoin Signing Library and Tools

  • Powergate Decentralized Storage Solution

  • Starling Command Line Interface (CLI)

The Filecoin network’s foundational layer is powered by a peer-to-peer (P2P) network based on three different types of nodes:

  • Lotus (written in Go)

  • Fuhon (written in C++)

  • Forest (written in Rust)

Tokenomics

Current Price : $5.24

Total token supply - 147,799,573 FILCurrent

circulating supply - 147,799,573.00 FIL.

Filecoin Governance:

Once the network launches, the Filecoin Foundation references in the project's whitepaper will take the responsibility of coordinating and funding future protocol improvements and development. The foundation is Protocol Lab's solution for the long- term governance and support of the Filecoin protocol. Protocol Labs has not released any other details on the Filcoin Foundation to date, but the foundation will remain inactive until the network launches. This foundation will receive 5% of the FIL tokens created at genesis to help fund future initiatives.

Does Filecoin have any competitors?

Filecoin isn't the only company tackling decentralized file storage; a number of others have started to get the ball rolling.

  1. Filecoin Report by IvanStake141. Siacoin already has more than 360 storage providers with a capacity of 2.3 petabytes, or 2,340 terabytes. Its cryptocurrency is currently tradable on crypto exchanges.

  2. Storj launched its Tardigrade decentralized cloud storage service in March 2020, and as of October 2020, claimed 80 petabytes of storage capacity across its network. Its cryptocurrency STORJ is also live.

Current Filecoin State

The following topics represent ongoing work:

• A specification of the Filecoin state tree in every block.

• Detailed performance estimates and benchmarks for Filecoin and its components.

• A full implementable Filecoin protocol specification.

• A sponsored-retrieval ticketing model where any client C1 can sponsor the download of another client C2 by issuing per-piece bearer-spendable tokens.

• A Hierarchical Consensus protocol where Filecoin subnets can partition and continue processing transactions during temporary or permanent partitions.

• Incremental blockchain snapshotting using SNARK/STARK

• Filecoin-in-Ethereum interface contracts and protocols.

• Blockchain archives and inter-blockchain stamping with Braid.

• Only post Proofs-of-Spacetime on the blockchain for conflict resolution.

• Formally prove the realizations of the Filecoin DSN and the novel Proofs-of-Storage.

Sources:

Last updated