This is a comprehensive list of all things IPFS.

Introduction and background

Intro lecture [slides]

Locking the Web Open, a Call for a Distributed Web02/15 ― Brewster Kahle, Founder of the Internet Archive, puts out a call to action to build the private, reliable, and versioned peer-to-peer web. ― 9 minute video

HTTP is obsolete. It’s time for the distributed, permanent web09/15 ― Explanation of why HTTP is broken (inefficient, centralized), and how IPFS, which gives us freedom and independence from the Internet backbone, can and should replace HTTP for file storage and distribution. High level description of IPFS and one of its first implementations, in Neocities. ― 15 minute read

Why The Internet Needs IPFS Before It’s Too Late10/15 ― Why we have a slow, fragile and forgetful web, how IPFS can remake the Internet, and why IPFS matters for the future of Internet business, including the need to sidestep micro-singularities and choke tests. ― 5 minute read

An Introduction to IPFS 02/16 ― More detailed description of IPFS as a versioned, distributed file system from the ConsenSys blog, introducing content addressing, the Merkle DAG and other IPFS architecture components. ― 10 minute read

Fundamentals and overviews

Whitepapercirca 2015 ― Concise, comprehensive technical overview of IPFS, a “Content Addressed, Versioned, P2P File System”, including design, architecture, and related systems descriptions. I highly recommend the main reference spec for a compilation of overviews, summaries, and specifications. ― 32 minute read

Architecture Overview ― “This spec document defines the IPFS protocol stack, the subsystems, the interfaces, and how it all fits together … This is meant as a top-level view of the protocol and how the system fits together.” Technical. ― 7 minute read

In addition to the whitepaper and architecture overview, I recommend, for a better technical understanding, looking over the specs for core components of the IPFS framework, including libp2p (peer-to-peer networking stack), IPRS (InterPlanetary Record System), IPLD (InterPlanetary Linked Data), Merkle DAG (IPLD’s data model).

Blockchain at Berkeley presentation04/17 ― Accessible IPFS whitepaper overview presentation by B@B technical mentor and Google software engineer Howard Wu. ― 13 minute video

Stanford Seminar – IPFS and the Permanent Web10/15 ― Overview presentation by IPFS founder Juan Benet. Highly recommended video, even if you don’t get to it today. ― 69 minute video

Related/precursor projects

Self-certifying File System (SFS)1998 ― “a secure, global, decentralized file system permitting easy cross-administrative realm collaboration” using self-certifying pathnames, developed by David Mazières (Stellar) in his doctoral thesis. Influence to IPFS’s name system, IPNS. ― 16 minute read

Kademlia2002 ― “A Peer-to-peer Information System Based on the XOR Metric”; a popular distributed hash table designed by Petar Maymounkov and David Mazières. IPFS uses a routing layer DHT based on Kademlia and its popular extensions, Coral (2004, 45 min) and S/Kademlia (2007, 24 min).  ― 16 minute read

Git ― (Wikipedia article) version control system created by Linus Torvalds in 2005. IPFS uses Git’s Merkle DAG object model to capture filesystem tree changes in a distributed way.

BitTorrent ― (Wikipedia article) “a hyper distribution communications protocol for peer-to-peer file sharing” developed by Bram Cohen in 2001 that informs some of IPFS’s design. From the reference spec, IPFS is “similar to a single bittorrent swarm exchanging git objects.”

Example use cases

uPort: The Wallet is the New Browser10/15 ― Introduction to uPort, a web-based wallet and identity management system that uses IPFS to store users’ identification data. Read their whitepaper (19 min) for more details on IPFS integration. ― 4 minute read

Orbit2015 ― A distributed, peer-to-peer chat application built on IPFS. Talk to others using the web app!

OpenBazaar Integrating InterPlanetary File System to Help Keep Stores Open Longer04/16 ― OpenBazaar is integrating IPFS in order for increased availability of storefronts for users. If curious, read more about OpenBazaar here. ― 3 minute read

Juan Benet of IPFS talks about Filecoin10/16 ― Filecoin, created by Juan Benet, is a cryptocurrency with a unique proof-of-retrievability component that incentivizes miners to store files on IPFS. Check out Filecoin’s original whitepaper (17 min) for more details. ― 6 minute read

Proof of luck consensus protocol and Luckychain blockchain03/17 ― Announcement of a novel consensus protocol, proof of luck, and its proof of concept implementation, Luckychain. Luckychain is layered on top of IPFS in accordance to Web 3.0 philosophy. Check out the well-written PoL whitepaper (18 min) and the Luckychain codebase. ― 3 minute read

Ethereum Meets Zcash? Why IPFS Plans a Multi-Blockchain Browser04/17 ― Discussion of the possibility for linking data between blockchains, like Ethereum and Zcash, and resolving it through IPFS. This is part of IPFS’s plan to further advance a decentralized and interoperable web. ― 4 minute read

Misc

Blockchain at Berkeley IPFS + Ethereum Storage Tutorial ― Simple tutorial for creating a datastore solution using IPFS and Ethereum, written by B@B technical mentor Howard Wu. Feel free to tag @howardwu on Slack (in the #deep-dive channel) for any questions. ― 30 minutes

A Look at Conflict-Free Replicated Data Types (CRDT) 08/155 minute read

Operational Transformations originating from the following 1989 article:

    Concurrency Control in Groupware SystemsProof of Luck presentation slides ― presented by Howard Wu