IPFS the next generation internet procotol technical overview

In this block post I will describe my opinion about IPFS. I think it has the potential to become the next big thing in the internet area.

What is IPFS (InterPlanetary File System)?

IPFS are many things together. The easiest way to understand ipfs is to say, that it is a decentralized replacement for HTTP/S.

In more details IPFS  is the following:

  • A specification of a protocol how to distribute data in a network
  • A Peer-2-Peer overlay network over multiple protocols (e.g TCP-IP, WebRTC)
  • Two implementations of this protocol one in Go one in JavaScript
  • A possible implementation of a distributed file system. Implementation for fuse already available
  • A web hosting service like gh-pages
  • Internally ipfs has the following:
    • An implementation of a distributed hash table (inspired by Kademlia)
    • An implementation of routing algorithm
    • Conflict-free replicated data type (CRDT) datatypes
    • An immutable content addressable data storage (git on steroids)
    • Multiple compatibility layers for common systems (HTTP gateway, Fuse file system driver)
    • An implementation of a Public Key infrastructure because every node has it’s own key pair

In the following picture you can get a brief technical overview what IPFS and IPNS are technically doing:

IPFS and IPNS block overview

For details consult the whitepaper.

What is IPNS (InterPlanetary naming system)?

IPFS contains immutable data structures. These data do never change. Unfortunately to track e.g. news or current sensor data it is necessary to have some mutable data that updates the references and gives the content a human remembarable name. For this purpose IPNS was invented. It is inspired by SFS and is compatible with given services like DNS.

Why do I think it is a game changer?

IPFS is well engineered and builds on a lot of very successful concepts like git, peer-2-peer, HTTP etc.

It can distribute data a lot faster than HTTP and solves other problems like partition tolerance and deduplication.

It tries to be downwards compatible to HTTP and normal file systems. This makes the adoption a lot easier and saves a lot of investments that companies already did in their infrastructure.

The main author Juan Benet is a awesome smart guy who knows that it is very important to build on other ideas. Further he is good at marketing his ideas e.g. he explains IPFS in the following TED talk:

Juan founded the company Protocol Labs that got 3 mio $ of funding. He is based in silicon valley with a lot of bright minds around him.

Summary

IPFS is the new kid on the block for decentralized data sharing. It is amazingly well engineered and as an open source project there are a lot of contributers. It comes with two reference implementation and has already shown some traction.

1 thought on “IPFS the next generation internet procotol technical overview

Leave a Reply

Your email address will not be published. Required fields are marked *