Filecoin
Filecoin (founded in May 2014) is an open-source, decentralized storage network and marketplace powered by blockchain technology. It is an incentive layer for the peer-to-peer storage network known as InterPlanetary File System (IPFS) and it enables anyone to earn incentives for renting out storage space on their computer. FIL is a native currency of the Filecoin network and used for transactions. Filecoin Network aims to “store humanity’s most important information". [1][2]
Filecoin is a decentralized storage network based on the Interplanetary File Storage (IPFS) protocol. It is designed to utilize unused storage globally into an efficient storage market for users to pay for low-cost storage. The objective is to ensure file storage is permanent and distributed across the web. Contrast this with centralized cloud storage solutions such as Amazon Web Services, Google Cloud, or Dropbox, where data are stored in servers owned by these private corporations.
Filecoin (FIL or ⨎) is also the currency of the decentralized storage network. Customers wanting to access storage will have to pay for storage in Filecoin. Nodes that provide storage to the network will in turn be paid in Filecoin for their service.
Company
Filecoin was created by California-based open-source research, development, and deployment laboratory, Protocol Labs. It was founded in 2014 by American computer scientist, Juan Benet. Apart from Filecoin, The organization is also known for its projects, including IPFS, libp2p, and many others. It has a headquarter situated in San Francisco Bay Area, California, United States,, and around 51-200 employees working across the globe. Juan Benet and his team constructed Filecoin and IPFS in tandem they seek to build a fundamental layer for data infrastructure that can be used by both blockchain and traditional providers, like Amazon Web Services (AWS) and Microsoft Azure.[3] [4]
Team
Name | Designation |
---|---|
Juan Benet[18][19][20] | Founder and CEO |
Friedel Ziegelmayer | Senior Software Engineer |
Evan Miyazono | Research Scientist |
Jeromy Johnson | Software Engineer |
Karola Kirsanow | Research Program Manager |
Jakub Sztandera | Distributed Software Engineer |
David Dias | Research Engineer |
Nicola Greco | Research Lead |
Jesse Clayburgh | Operations Manager |
Hector Sanjuan | Software Engineer |
Chris Brocoum | Head of Finance |
Colin Evran | Biz Dev & Operations |
Fundraising
Protocol Labs has raised a total of 3.1 million USD in funding over 3 rounds from 2014 to 2017. The first seed round raised a total of $120K USD from start-up accelerator, Y Combinator. The venture round was held in 2016 and raised 3 million USD from major investment firms and individual investors, including Techammer, Stanford StartX, Naval Ravikant, Haystack, FundersClub, Fred Ehrsam, Digital Currency Group, DHVC, Boost VC, and Ben Davenport. In 2017, they raised undisclosed funds in a venture round backed by BlueYard Capital.[7] [8]
Presale and Initial Coin Offering
In August 2017, Filecoin held their Initial Coin Offering (ICO) round on Coinlist, where they raised more than $252 Million USD by selling FIL tokens. Filecoin fully incentivized early participation during the ICO. Although most token offerings set a standard price/coin, Filecoin set the initial coins at $1 USD, increasing with each subsequent investment, which drove investors to want to get in early. Within hours, the crowd-sale raised $190 million USD, causing the price to reach $4.58 USD. Filecoin also did a presale of its coins to Sequoia Capital, Andreessen Horowitz, and Union Square Ventures.[9]
Overview
Filecoin is a decentralized storage network (DSN) and marketplace built on a blockchain. It turns cloud storage into an algorithmic market. It is a distributed, peer-to-peer network based on InterPlanetary File System (IPFS) technology with built-in economic incentives to ensure files are stored reliably over time.
Anyone who wants to store their files or get paid for storing other users’ files can be part of the Filecoin network. The users/clients pay to store their files on storage miners. Storage miners are computers responsible for storing files and proving they have stored the files correctly and securely over time. This storage network is a blockchain-based decentralized network and so available storage, and the price of that storage is not controlled by any single company. Instead, Filecoin facilitates open markets for storing and retrieving files that anyone can participate in. The FIL is the native cryptocurrency of the Filecoin network and it is used to pay miners and for transaction purposes. All the transactions along with proofs from miners that they are storing files correctly are recorded on the Filecoin blockchain.
Filecoin benefits both users and storage providers. It allows users to store their files at aggressive prices and verify that their files are being stored correctly. They can have many options to choose the miner whose storage offer is best suited for their needs. Applications that implement Filecoin can negotiate storage with any miner on the network. which is not possible with centralized storage systems. It also eliminates the need to implement a different API for each provider. The users can verify that their files are being stored correctly by looking at proofs on Filecoin’s blockchain explorer anytime they want. The storage providers can easily sell their storage on an open market and they run miners to earn FIL tokens. Filecoin’s blockchain rewards miners for contributing useful storage to the internet as compared to high energy-consuming proof-of-work computations.
The Filecoin initial release occurred in July 2014 and its Mainnet was launched on October 15, 2020.
Tech
Filecoin's operation depends majorly on three components, The Filecoin network, Nodes, and Miners. Miners execute deals and submit proofs that are verified by clients and other miners so that block is validated and gets added to the chain.
Filecoin Network
The Filecoin network utilizes InterPlanetary File System (IPFS) technology. It is distributed peer-to-peer network formed by Filecoin peers who participate in different ways. These peers communicate over secure channels that they use to distribute information to the network, transfer data among themselves, and discover other peers, maintaining a well-connected cluster in which information like blocks and messages flows swiftly even when many thousands of peers participate. The network represents all full nodes that validate the actions of clients and miners. These nodes count the available storage, check the storage proofs, and repair data faults.
Filecoin Nodes or Clients
Filecoin Nodes or Filecoin Clients are peers that sync the Filecoin blockchain and validate the messages in every block, which, once applied, provide a global state. Nodes manage Filecoin wallets and receive FIL on them. These nodes have the ability to publish different types of messages to the network by broadcasting them. For example, a client can publish a message to send FIL from one address to a different one. Nodes can propose storage and retrieval deals to Filecoin miners and pay for them as the deals are executed correctly. Clients pay to store and retrieve data. They can choose from the available service providers. If they want to store private data, they need to encrypt it before submitting it to the providers.
Anyone can run a Filecoin Node as it is a low-level task that usually needs a program to run 24/7. There are several types of Filecoin Node implementations available, including advanced such as Lotus.
Filecoin Miners
Filecoin Miners have two types Storage Miners and Retrieval Miners. The user requires technical knowledge and also needs to fulfill hardware requirements in order to become a miner. The Lotus Miner is the most advanced implementation of a Filecoin miner to this day.
Storage Miners
The Filecoin miners provide services to the network by executing different types of deals and adding new blocks to the Filecoin blockchain (every 30 seconds). They receive FIL tokens as rewards for these tasks. The miners store client’s data for the reward. They decide how much space they want to provide for storage. Once the client and storage miner agree on the deal, the miner is obliged to continuously provide proofs that he/she stores the data. Anyone can look at the proofs and make sure that the storage miner is reliable.
Retrieval Miners
The retrieval miners provide client’s data at their request. They can get the data either from clients or storage miners. Retrieval miners and clients exchange data and coins using micropayments: the data is split into pieces and clients pay a small number of coins for each piece. A retrieval miner can also work as a storage miner.
Deals and Proofs
When Miners execute deals, they need to provide proof of storing the data and Deals and Proof incorporate many details.
Deals
As there are two types of miners, there are two types of deals Storage Deals and Retrieval deals.
Storage Deal | Retrieval Deal |
---|---|
These are agreements between client and storage miners to store data in the network | These are agreements between clients and retrieval miners (which may or may not be storage miners) to extract data that is already stored on the network. |
These are executed on-chain and repeatedly prove to the blockchain that it is still storing the data as per agreements so that mines can collect rewards. | Unlike Storage deals, these are executed off-chain using payment channels to pay incrementally for data received. |
Proofs
Storage miners must prove that they are storing the data per the terms of a deal to receive FIL rewards. The miners are obliged to
- store all the data submitted by the client and
- store it during the whole lifetime of the deal.
The cryptographic proofs are used to ensure validity. Two consensus mechanisms - Proof Of Replication (PoRep) and Proof of Spacetime (PoSt) are used for this purpose. Using Proof Of Replication (PoRep), miners demonstrate that they have received all the data and that they have encoded it in a way unique to that miner using their physical storage in a way that no other miner can replicate (so two deals for the same data cannot end up re-using the same disk). This proof is provided when the deal starts, and the sealing operation completes. Once a deal is active and during its full lifetime, the miner will use Proof of Spacetime (PoSt) to prove that it is still storing the data associated with a deal. For PoSt, random miners need to prove that random parts of the data they store are still there.
Filecoin clients and other miners continuously verify that the proofs included in each block are valid, providing the necessary security and penalizing miners that do not honor their deals.
Gas Fees
Similar to Ethereum (ETH) or any other blockchain network, there are fees in Filecoin to execute any transaction. Executing messages, for example by including transactions or proofs in the chain, consumes both computation and storage resources on the network. Gas is a measure of resources consumed by messages. The gas consumed by a message directly affects the cost that the sender has to pay for it to be included in a new block by a miner.
In other blockchains, miners specify a GasFee in a unit of native currency and then pay the block-producing miners a priority fee based on how much gas is consumed by the message. Fisimilarlymilar fashion, except an amount of the fees is burned to compensate for the network expenditure of resources, since all nodes need to validate the messages. This idea is based on Ethereum's EIP1559 standards.
Explorers
There are several ways to explore and get insights from the Filecoin network. Either by using Block explorers of Lotus, Filecoin has multiple block explorers available on which, anyone can see transactions, Gas fees, FIL distribution, Miners related stats like Number of Active Miners, Mining rewards, Mining Powers, etc.
Security
To secure the network by validating every block by verifying miners' work of storing data, the Filecoin protocol makes use of cryptographic proofs. It uses two consensus mechanisms, Proof Of Replication (PoRep) and Proof of Spacetime (PoSt). Both PoSt & PoRep uses Non-interactive zero-knowledge proofs (zk-SNARKS), making proofs very short and easy to verify.
Proof of Replication
Proof Of Replication (PoRep) is a new type of Proof Of Storage in which a server (i.e. the prover P) tries to convince a user (i.e. the verifier V) that some data D has been replicated to its own uniquely dedicated physical storage. It additionally ensures that P is dedicating unique physical storage to storing D. P cannot pretend to store D twice and deduplicate the storage. This construction is useful in cloud storage and decentralized storage network. With regards to Filecoin, a storage miner proves that they are storing a physically unique copy, or replica, of the data. Proof of Replication happens just once, at the time the data is first stored by the miner. PoRep improves on proof of storage variants such as Proof of Retrievability (PoR) and Provable Data Possession (PDP), preventing Sybil attacks, Outsourcing Attacks, and Generation Attacks.
Proof of Space-Time
The proof-of-Storage system allows a user to check if a storage provider is storing the outsourced data at the time of the challenge. But to prove whether some data was being stored perioderiod of time requires the user to repeatedly (e.g. every minute) send challenges to the storage provider. This will also require communication complexity in each interaction and it can become the bottleneck in systems such as Filecoin, where storage providers are required to submit their proofs to the blockchain network. To address this issue, Filecoin introduced a new proof, Proof-of-Spacetime, where a verifier can check if a prover is storing her/his outsourced data for a range of time.
Mining Requirements
Anyone can become a Filecoin miner provided they fulfill the hardware requirements for Filecoin mining. The hardware required to mine Filecoin is high level and expensive as these provide extensive computational resources needed to seal a sector and generate regular Proof of Spacetime for every sealed sector (WindowPoSt). These hardware requirements differ for Mainnet and Testnet networks, but in general minimum hardware, the requirement is summarized below.
Sr | CPU | RAM | GPU | DISK |
---|---|---|---|---|
Minimum Requirement | 8+ core CPU | Minimum 128 GB RAM | A powerful GPU need ( GeForce GTX 1650 and above) | 1TiB NVMe-based disk space required for Cache purpose and addition for final storage of "sealed sectors", the Lotus chain, etc. will be needed as well. |
Example from Protocol Lab set up | AMD Epyc 7402 (24 cores) | 128-256 GB | Nvidia Quadro RTX 6000 | Unspecified |
Mining
Client-Miner Interaction
Miners in the Filecoin network are in charge of storing, providing content, and issuing new blocks. Miners are the participants on the blockchain network that do the work necessary to advance the blockchain and maintain its validity. For providing these services, miners are compensated in the native cryptocurrency such as FIL. Mining in Filecoin works quite differently compared to proof-of-work blockchains like Bitcoin, and Ethereum and instead of contributing computational power, miners contribute storage capacity to be used in deals with clients looking to store data.
Mining Participants
As mentioned earlier, there are two types of miners, Storage miners, and Retrieval miners. Storage miners the heart of the network and they earn FIL by storing data for clients, and computing cryptographic proofs to verify storage across time. The probability of earning the block reward and transaction fees is proportional to the amount of storage the miner contributes to the Filecoin network, and not hashing power. Retrieval miners are the veins of the network. They earn Filecoin by winning bids and mining fees for a particular file, which are determined by the market value of said file's size. A retrieval miner’s bandwidth and bid/initial response time for deals (i.e. latency, and proximity to clients) will determine its ability to close retrieval deals on the network. The maximum bandwidth of a retrieval miner will set the total quantity of deals it can make.
Deals Execution
The deals are core functions of the network and they represent an agreement made between a client and a miner for a storage 'contract'. Once a client has decided on a miner to store with based on their available capacity, duration, and desired price, they lock up sufficient funds in an associated wallet to cover the total cost of the deal. The deal is then published once the miner has accepted the storage agreement.
After the deal is published, the client then prepares the data for storage and then transfers it to the miner. Upon receiving all of the data, the miner packs the data into a sector, seals it, and begins submitting proofs to the chain. Once the first confirmation has been hit, the client can be certain the data is being stored properly, and the deal has officially begun. Throughout the lifetime of the deal, the miner submits ongoing proofs to the chain. Clients pay incrementally using the funds they previously locked up. If proof is missing or delayed, the miner is penalized (called slashing).
Mining Rewards
Overall, The miners can earn two types of rewards for their efforts - storage fees and block rewards. Retrieval miners can earn retrieval fees as well.
Storage Fees
Storage fees are the fees paid regularly by clients after a deal has been reached, in exchange for storing data. These fees are automatically deposited into a miner's associated withdrawal wallet as they continue to perform their duties over time and are briefly locked upon being received.
To validate these rewards, PoSt window checks are performed at 24-hour intervals across the network to ensure that miners are continuing to host their required sectors as normal. Correspondingly, each storage miner’s set of pledged sectors is partitioned into subsets, one subset for each window. Within a given window, each storage miner must submit a PoSt for each sector in their respective subset. For each day a miner is inactive, a fault fee will be generated.
Block Rewards
These are large quantities that are given to the miner credited for a new block. These rewards do not come from an associated client and the network prints new FIL as both an inflationary measure and an incentive to miners advancing the chain. All active miners on the network have a chance at receiving a block reward and their chance is directly proportional to the amount of storage space currently being contributed to the network.
The mechanism to earn the right to mine a new block is called WinningPoSt. In the Filecoin network, time is discretized into a series of epochs – the blockchain's height corresponds to the number of elapsed epochs. At the beginning of each epoch, a small number of storage miners are elected to mine new blocks. Additionally to the block reward, each miner can collect the fees associated with each message included in the block.
Retrieval Fee
Retrieval fees are paid incrementally using payment channels as the retrieval deals are fulfilled (by sending portions of the data to the client). This is done off-chain.
The miners have another opportunity to get more rewards by completing deals offered by verified clients. These clients are certified concerning their intent to offer deals involving the storage of meaningful data, and the power a storage miner earns for these deals is augmented by a multiplier.
Slashing
Slashing is the penalties that are imposed on miners for either failing to provide reliable uptime or acting maliciously against the network. The miners are susceptible to two different kinds of slashing: storage fault slashing, and consensus fault slashing.
Storage Fault Slashing
It includes many penalties which are to be paid by miners if they fail to provide sector reliability or decide to voluntarily exit the network.
- Fault Fees: a penalty that a miner incurs for each day a miner's sector is offline (fails to submit Proofs-of-Spacetime to the chain). Fault fees continue until the associated wallet is empty and the miner is removed from the network. In the case of a faulted sector, there will be an additional sector penalty added immediately following the fault fee.
- Sector penalties: It is a penalty that a miner incurs for a faulted sector that was not declared faulted before a 'WindowPoSt' check occurs. The sector will pay a fault fee after a Sector Penalty once the fault is detected.
- Termination fees: It is a penalty that a miner incurs when a sector is voluntarily or involuntarily terminated and is removed from the network.
Consensus Fault Slashing
This penalty is incurred when committing consensus faults. It is applied to miners that have acted maliciously against the network's consensus functionality.
Tokenomics
FIL is the native cryptocurrency of the Fliecoin blockchain. It has a maximum supply of 2,000,000,000 FIL. It registered an all-time high of USD 131.86 on Oct 15, 2020, and an all-time low of USD 1.83 on Aug 29, 2019. It is available to trade on more than 15 cryptocurrency exchanges, including popular such as Binance, Coinbase Pro, Huobi, Bitfinex, Kraken, and many others.
Token Allocation
Beneficiary | % FIL of maximum supply |
---|---|
Storage Miners Allocation | 55% |
Mining reserve | 15% |
Protocol Labs | 10.5.% |
PL Team and Contributors | 4.5% |
Filecoin Foundation | 5% |
Fundraising - SAFT 2017 | 7.5% |
Fundraising - Remainder | 2.5% |
Token Vesting
The total supply of 2 billion FIL tokens will be released over a long period to provide sustainable growth and stability to the network.
- Mining Rewards: The 1,400,000,000 FIL tokens (Miners allocation + Mining Reserve) will be vested in three different ways:
- Baseline Minting: Up to 770M FIL tokens, the majority of the Storage Mining Allocation, is minted based on the performance of the network. The full release of these tokens would only occur if the Filecoin network reached a Yottabyte of storage capacity in under 20 years.
- Simple Minting: 330M FIL tokens are released on a 6-year half-life based on time. A 6-year half-life means that 97% of these tokens will be released in approximately 30 years. This small but meaningful amount is minted independently of agent actions to provide counterpressure to shocks.
- Minting Reserve: 300M FIL tokens are held back in reserve to incentivize future types of mining. The community will decide how these tokens would be released and which sets of stakeholders should be incentivized, but currently, this portion of the total supply is held back in reserve.
- SAFT Investors: All SAFT holders received their FIL subject to 6 months, 1 year, 2 years, and 3 years linear vesting terms beginning at network launch. The majority of SAFT tokens purchased are vesting linearly over 3 years- 58% of SAFT tokens vest linearly over 3 Years, 5% of SAFTs tokens vest linearly over 2 Years, 15% of SAFTs tokens vest linearly over 1 Year, 22% of SAFTs tokens vest linearly over 6 Months.
- Filecoin Foundation: The Filecoin Foundation’s 100M FIL vest linearly over 6 years, beginning at network launch.
- Protocol Labs: Protocol Labs’s 300M FIL vest linearly over 6 years, beginning at network launch. When Protocol Labs encourages ecosystem development through grants with important collaborators, those also typically vest over 6 years.
The Filecoin Virtual Machine
The Filecoin Virtual Machine (FVM) is a platform that allows the execution of smart contracts, known as actors, on the Filecoin network. The introduction of FVM enables user customization on the Filecoin network,, and developers now have the capability to deploy their own custom smart contracts on the Filecoin blockchain and storage network. They can write these contracts using Solidity and deploy them with the help of familiar EVM-compatible tools widely used by web3 developers. [12][13]
Space Warp Program
The Space Warp program is a comprehensive initiative in preparation for the launch of the Filecoin Virtual Machine on mainnet in March 2023. It encompasses a range of activities including financial incentives, a hackathon event, a competition for builders, and other offerings, with a total value of over $400k in FIL tokens. The Space Warp program is designed to support the builder community in expediting the creation of new and valuable applications on the Filecoin network. [14][15]
Filecoin Softwares
Filecoins (FIL) can be stored on exchanges or official wallets such as Lotus and Glif Wallet Lotus. Lotus can be used to run a node and Miner. Slate is a fully open-source file-sharing network designed for research and collaboration, powered by Textile, IPFS, and Filecoin. Powergate provides a multi-tier storage solution that stores data with IPFS ("Hot" storage layer) and Filecoin ("Cold" storage layer). Fleek space daemon is a wrapper around IPFS tools to start coding a decentralized desktop app as fast as possible. It is built on top of Textile threads, Buckets, and Powergate. Starling is a command-line interface for simplified, coordinated, decentralized storage on the Filecoin network.
Filecoin Ignite
Filecoin Ignite is a series of events for the Web 3 community launched ahead of the mainnet launch. The hackathons, conferences, workshops, interview schedules, and details are provided on this portal. These events are put on by many different groups in the community and It is an opportunity to dive in and learn about Web 3 projects.
Partnerships & Collaborations
Filecoin has partnered with some of the well-known blockchain companies such as ConsenSys, Huobi, Trufflsuite, and many others.[10][11]
Filecoin x Zondax
Filecoin has collaborated with Zondax to be made available on Ledger Live. Clients, Storage Providers, and other network participants can send and receive FIL directly from Ledger devices while their private keys remain secure and are never exposed to third parties.
This new feature has been implemented thanks to a close collaboration between Protocol Labs and Zondax, a software development team.
Filecoin x Polygon Studios
On February 16, 2022, Filecoin and Polygon Studios announced a partnership to promote development in the NFT, games, and metaverse industries. The collaboration began with the creation of educational resources, financial incentives, and hackathon events aimed at supporting developers and NFT projects on the Polygon network in their integration with IPFS and Filecoin. [16][17]