Community

You need to log in to create posts and topics.

IPFS (the InterPlanetary File System)

IPFS (the InterPlanetary File System) is a new hypermedia distribution protocol, addressed by content and identities. IPFS enables the creation of completely distributed applications. It aims to make the web faster, safer, and more open.

IPFS is a distributed file system that seeks to connect all computing devices with the same system of files. In some ways, this is similar to the original aims of the Web, but IPFS is actually more similar to a single bittorrent swarm exchanging git objects. You can read more about its origins in the paper IPFS - Content Addressed, Versioned, P2P File System.

IPFS is becoming a new major subsystem of the internet. If built right, it could complement or replace HTTP. It could complement or replace even more. It sounds crazy. It is crazy.

Quick Summary

IPFS is a protocol:

  • defines a content-addressed file system
  • coordinates content delivery
  • combines Kademlia + BitTorrent + Git

IPFS is a filesystem:

  • has directories and files
  • mountable filesystem (via FUSE)

IPFS is a web:

  • can be used to view documents like the web
  • files accessible via HTTP at https://ipfs.io/<path>
  • browsers or extensions can learn to use the ipfs:// URL or dweb:/ipfs/ URI schemes directly
  • hash-addressed content guarantees authenticity

IPFS is modular:

  • connection layer over any network protocol
  • routing layer
  • uses a routing layer DHT (kademlia/coral)
  • uses a path-based naming service
  • uses bittorrent-inspired block exchange

IPFS uses crypto:

  • cryptographic-hash content addressing
  • block-level deduplication
  • file integrity + versioning
  • filesystem-level encryption + signing support

IPFS is p2p:

  • worldwide peer-to-peer file transfers
  • completely decentralized architecture
  • no central point of failure

IPFS is a cdn:

  • add a file to the filesystem locally, and it's now available to the world
  • caching-friendly (content-hash naming)
  • bittorrent-based bandwidth distribution

IPFS has a name service:

  • IPNS, an SFS inspired name system
  • global namespace based on PKI
  • serves to build trust chains
  • compatible with other NSes
  • can map DNS, .onion, .bit, etc to IPNS

https://github.com/ipfs/ipfs