Filecoin is a novel distributed network protocol that enables a global, decentralized marketplace for data storage.
The highly-anticipated project is rapidly maturing; with the public launch of the main Filecoin network slated for as early as next month, the project has reached a state where developers can begin seriously evaluating the use of Filecoin in their own technology stacks.
The following discussion is offered as a jumping-off point for those looking to do so.
What Filecoin Offers
Filecoin was conceived as an incentivization layer for the InterPlanetary File System (IPFS), a content-addressable, peer-to-peer storage network protocol (it is important to note that despite this history, Filecoin and IPFS are independent projects with no inherent dependencies on one another).
While IPFS addresses the problem of securely sending and receiving data, Filecoin targets the fundamental need for trustworthy, verifiable storage of data.
Thus, from the beginning, Filecoin has been predicated on the desire to properly align incentivize structures to ensure the preservation of some of humanity’s most important information.
To achieve this goal, the Filecoin protocol conceptualizes a novel, decentralized storage marketplace. Juxtaposed against existing cloud storage solutions, its peer-to-peer network is
- global and distributed, where traditional cloud service providers are highly centralized, and only available in limited locations that are often distant from consumers;
- efficient and scalable, operating as a content-delivery network to preserve bandwidth and taking advantage of latent storage resources;
- highly amenable to automation via smart contracts;
- trustless and open, mitigating attempts at vendor lock-in;
- provably secure and publicly auditable, using content-addressing and constant verification to ensure data authenticity and integrity.
As a result, the Filecoin protocol is expected to manifest as an extremely reliable, low-cost cloud storage solution, bringing to the table several capabilities that other paid alternatives have never been able to offer. To achieve this, it employs a variety of novel crypto-economic constructions.
How Filecoin Works
The Filecoin network is backed by a novel blockchain that serves to record commitments made by actors on the network. Filecoin also introduces a new cryptocurrency, FIL (⨎), which serves as the unit of exchange for transactions on the network.
The present Filecoin specification provides for two distinct markets: retrieval and storage.
The retrieval market allows client nodes seeking a particular file to negotiate the transfer of a copy from another node in the network. For this service, the client pays the provider a small fee in FIL.
This incentivizes well-placed nodes to participate in the network, and promotes the scalable and rapid distribution of files.
The storage market enables nodes known as storage miners to compete on price, performance, and location in order to win storage contracts (known as deals) from client nodes. Storage miners are held accountable by requiring them to front collateral as proof of their commitment to the deal. When a deal takes place:
- Clients transfer their data to the designated storage miner.
- The storage miner uses the client data to fill a sector (a sector is the fundamental unit of storage in Filecoin, and can contain data from multiple deals).
- Once a sector is full, a process called sealing occurs, in which the storage miner encodes the sector, creating a unique representation of the underlying data (the original representation can subsequently be reconstructed via unsealing). Sealing is a computationally-expensive process that is not amenable to parallelization; this makes it difficult to fake, and protects against miners fallaciously claiming that they are storing multiple unique copies of a file.
- A compressed artifact derived from the sealing process, called Proof-of-Replication (PoRep), is submitted to the Filecoin blockchain.
- For the duration of the lifetime of a sector, the storage miner will be periodically challenged to quickly provide cryptographic proofs of the sealed sector’s integrity, submitting these to the blockchain as messages. This process is known as Proof-of-Storage (PoSt). Miners who fail to submit a required proof in time forfeit a portion of their collateral.
In return, storage miners are rewarded in three ways; first, by the payment they receive from each client; second, by the opportunity to mine a block (a storage miner’s chance of doing so is proportional to the share of the Filecoin network’s total storage capacity that they contribute), and third, by fees the miner of a block collects from other nodes in return for including their messages in the block.
How to Participate
There are a number of open-source Filecoin implementations in development, but at the moment, the recommended implementation is Lotus.
While the launch of the main Filecoin network is still at least a month away, a number of test networks are available for developers and other interested parties. Starting this week, a new, three-week competition, the Space Race, also begins, in which storage miners can compete for rewards in a global competition to onboard as much storage as possible to the primary test network.
Note that while Filecoin storage mining is not proof-of-work mining (storage miners are only rewarded for the storage resources they provide the network), storage mining itself currently necessitates fairly powerful hardware to meet the storage and proof requirements. More details can be found in the official Filecoin blog.
Ongoing development is being undertaken to mitigate these constraints. Meanwhile, many of the test networks feature reduced requirements that enable more modest hardware to take part.
The Filecoin development ecosystem is also gaining traction. The core Filecoin development team at Protocol Labs recently concluded a thirty-day hackathon collaboration, featuring over one hundred submitted projects. The documentation for both Filecoin and Lotus offer guides on how to quickly get started interfacing with the core ecosystem, community tools are making it easier than ever to build on top of Filecoin, and Protocol Labs is currently accepting applications for development grants to fund parties interested in contributing to the project.
The advent of Filecoin’s public launch is a major milestone in distributed computing, offering several distinct advantages over traditional cloud storage solutions. There are now a number of ways to seriously preview and assess the network and the capabilities it affords.
With the ecosystem reaching maturity, there’s never been a better time to see for yourself what a fully-distributed storage solution has to offer.
Disclosure: The author of this piece is the recipient of a development grant from Protocol Labs.