IPFS Consortium Release

Persistent data in a decentralized world.

Data persistence through collaboration

Introduction

Blockchain technology, due to its distributed nature, creates an environment that resists censorship. Censorship is more likely to occur as the number of failure points approaches one. For instance, if there is only one copy of a particular ledger, and that copy gets deleted, it no longer exists in the world. But blockchain allows for many copies of the exact same ledger to exist, and to be updated simultaneously. Once a reasonable distribution point is achieved, censoring a blockchain would therefore require an almost impossible coordination.

IPFS is a partner technology that gives projects the ability to add arbitrarily large data to a blockchain by using content-based hashes. Current blockchain technology, while world disrupting, has its limitations, in particular limits to the amount of data it can hold and still be efficient. That’s where IPFS comes in. The two technologies combined allow for large scale, distributed, automated data availability and sharing. They provide censorship resistance without limiting data size or accessibility speed.

IPFS and Swarm.City

Swarm City uses the IPFS protocol to store various data of the swarm.city protocol, like avatar hashes, intermediate deal state information, deal metadata, and more. We need to make sure this data is persisted (available throughout the network) and censorship resistant, just like all the other components of the protocol.

Censorship resistance is achieved through using a decentralized protocol, such as IPFS. But IPFS alone does not grant data persistence. Data persistence is the guarantee that even though the network consists of an ever changing set of IPFS nodes, there will always be at least one set of these nodes that is online AND has the required data stored. Since our goal is to have millions of people using Swarm City, user and deal data availability has to have a zero failure rate.

The IPFS consortium

A few months ago , we announced our initiative to start a consortium of collaborating projects to back-up each other’s data and make that data available throughout the IPFS network. We then presented our work at DEVCON3. We have now released the tools necessary to sustain a consortium of IPFS nodes that continuously monitors and persists data over time. The IPFS Consortium is a solution to a problem all major Ethereum projects face. It’s our hope many of them will participate with us.

How does it work ?

The IPFS consortium consists of two things. The first is a smart contract that manages the consortium, by directing which IPFS data hashes will be persisted. The second is a software module that is installed alongside the IPFS nodes to manage the pinning and unpinning of data.

How can I use it?

The code is ready for install from our Github repository here. The current IPFS Consortium consists of two projects, Swarm City and Giveth, and we are looking for other projects to join us. But anyone may use this code to set up their own consortium.

Get in touch!

For questions, feedback, or to join our consortium, please connect with sponnet in Riot here: https://riot.im/app/#/room/#ipfsconsortium:matrix.org

Written by Matthew Carano and Stefaan Ponnet. Code contributions by Eduardo Antuña Díez