Data Storage Showdown: Arweave, IPFS, or Filecoin?
Jonny Ringo
0xb386
September 15th, 2022

TL;DR

This article analyzes three data storage protocols: Arweave, IPFS, and Filecoin. Sarcophagus chose Arweave as its data storage protocol because Arweave guarantees data permanence without relying on another party or service.

Note:

  • IPFS provides temporary data storage with "pinning" services. The data access address remains constant.

  • Filecoin provides data storage for a fixed amount of time and is built on IPFS-like storage technology. Users pay fees regularly for continued storage.

  • Arweave stores data permanently and users pay a one-time fee.

What Is Sarcophagus?

Sarcophagus is an autonomous, incentivized application that executes contracts on Ethereum and stores dual-encrypted data on Arweave. The data is set to release via a dead man’s switch that can be reset by the creator and can only be viewed by the designated private key (recipient). This enables an immutable, secure, and private way to pass down critical data such as a will and testament or an emergency communication in the case of owner incapacitation. With these use cases in mind, security of the data on chain is paramount. Sarcophagus’ data needs to remain secure, private, and available anytime.

During Sarcophagus’ conception, Ethereum emerged as the go-to choice for the protocol’s contract execution layer. Ethereum was (and still is) the most reliable and decentralized blockchain for smart contracts. Next came the decision of where to store the data after encryption. The first idea was to store it on Ethereum itself, but this method was deemed too expensive, considering how encryption expands data. As a result, the solution for Sarcophagus’ data storage came down to IPFS, Filecoin, or Arweave.

All three data storage systems have strengths and points of possible failure. Let’s compare each system and explore why Arweave was chosen.

IPFS (InterPlanetary File System)

The most common way to exchange data across the internet is HTTP. However, HTTP poses security risks due to issues such as impermanence and address host changes. Unlike HTTP, which is IP addressed, the IPFS network is content addressed. In other words, when data is uploaded on the IPFS network, it returns a hash and the data is then requested using that hash (Geeks for Geeks, 2022). This makes it useful for sourcing data for many applications such as metadata for NFTs because the address and data never change as long as it is available on the network.

The most common way to store and retrieve data on IPFS is the use of pinning services like Infura or Pinata for users who don’t run their own node. These services run IPFS nodes and keep your data present on the network. However, using one of these pinning services does not guarantee permanence. Infura will delete your data from IPFS if it hasn't been accessed for six months (Infura FAQs, 2021). There are also some limits to the amount of “free” data storage, beyond which you must pay a fee. Pinata requires a monthly fee to keep data pinned or else deletes it (Pinata Terms, 2022). Both of these services use centralized servers to keep data persistently available. Therefore, data impermanence, added fees, and reliance on centralized servers put IPFS out of contention.

Filecoin

“While interacting with IPFS does not require using Filecoin, all Filecoin nodes are IPFS nodes under the hood.” (Filecoin 2022)

Since IPFS does not have an incentivization mechanism for storing other users’ data, Filecoin implements the same technology with a distributed, long-term data storage marketplace built on top. The Filecoin network is supported by nodes that store, verify, and retrieve data, and rents their storage to users. Rental fees are paid by users regularly to maintain storage according to the terms of the ”storage deal,” and storage providers are penalized if they do not abide by this agreement (Filecoin, 2022). Ultimately, Filecoin was not chosen, due to its fee structure and the lack of real permanence.

Arweave

Arweave stores data on a modified blockchain called the blockweave. Network miners download the blockweave and mine blocks to verify their copy using SPoRA; they receive Arweave tokens in exchange for their work and storage (Arweave Yellow Paper). This model promotes a perpetually growing, permanent record with copies of the data spread across the entire network instead of a small central group or an individual server. Users who wish to store data pay a one-time fee that scales with the amount of data stored, currently at ~$2.109/GB (Arweave Fees). Data is then accessible forever with any standard web browser.

Why Use Arweave Instead of IPFS or Filecoin?

Both IPFS and Filecoin offer some guarantee that data is static and unchanged, with content addressing used to source stored information. However, Sarcophagus’ data security requires that stored information remain immutable and available at all times. Data permanence is a necessity. IPFS cannot guarantee permanence. Furthermore, its available pinning services rely on central servers, it has time-sensitive access limits, and it may require monthly maintenance fees. While Filecoin alleviates much of the data permanence issue, it relies on regularly paid fees for contracted periods, which affects its data permanence. Arweave’s files are forever accessible on the blockweave, built on a decentralized and incentivized network with the least individual points of failure. One of Sarcophagus’ main features is the guarantee of data availability when needed. With the combination of its one-time fee, data permanence, and storage distribution, Arweave prevailed as the best choice to secure sensitive data in all aspects of storage with your dead man’s switch.

Resources:

What is Filecoin 2022

Filecoin & IPFS from Filecoin Docs 2022

Infura FAQs 2021

Geeks For Geeks Writeup on IPFS by omkarchalke 2022

Pinata Terms of Service 2022

Arweave Yellow Paper

Arweave Wiki

Arweave Fees

Subscribe to Decent DAO
Receive new entries directly to your inbox.
Collectors
View
#1
#2
#3
View collectors
This entry has been permanently stored on-chain and signed by its creator.