June 15, 2016
The InterPlanetary File System (IPFS) is a new hypermedia distribution protocol, addressed by content and identities, as opposed to traditional location addressing. IPFS is designed to decentralize the web while simultaneously increasing the speed and security of the Internet.
Today, the Internet is based on HyperText Transfer Protocol (HTTP). HTTP relies on location addressing which uses IP addresses to identify the specific server that is hosting the requested information. This means that the information has to be fetched from the origin server or a server within the CDN every time it is requested.
IPFS is meant to be a replacement for HTTP. Most notably, IPFS never has a single point of failure. It’s a peer-to-peer distributed file system that would decentralize the Internet and make it much more difficult for a service provider or hosting network to pull the plug and make published information suddenly disappear.
With IPFS, countries could no longer selectively block information, ensuring equal access across the globe. DDoS attacks would become irrelevant, since they rely on crippling a centralized distribution system, thereby increasing Internet security. IPFS would also allow for increased speeds since users close to each other would share information instead of having to individually request it from a single, central location.
How IPFS Works
IPFS works by connecting all computing devices with the same system of files via a system of nodes. It uses a “distributed hash table, an incentivized block exchange, and a self-certifying namespace.”
In simpler terms, it acts similarly to a torrent system, except that instead of sharing and exchanging media, IPFS exchanges git objects. This means that the whole system is based around a simple key-value data store. Any type of content can be inserted, and it will give back a key that can be used to retrieve the content again at any time. This is what allows for content addressing instead of location addressing: The key is completely independent of the origin of the information and can be hosted anywhere.
Example of IPFS
Imagine a classroom full of students. All of these students are collaborating on a Google doc simultaneously. With the traditional HTTP-based Internet used today, every time the document is edited, that information is sent back to the origin server (we’ll call it the backbone). Then it is sent from the backbone to every other student who is editing the document. That seems like a lot of unnecessary latency for people who are all in the same room, on the same local area network.
With IPFS, the information wouldn’t have to be sent to the backbone every time; it could just be shared with all individuals in the room on the same local area network. Not only would this significantly decrease latency, but the students would still be able to continue simultaneously editing their Google doc even if something went wrong with Google’s servers.
HTTP is a twenty-year-old technology and needs to be replaced in order for the Internet to keep up with technology. IPFS allows for decreased latency, enabling us to utilize the higher memory densities and faster processing speeds that are continually being developed. It provides faster overall Internet speed, increased security, and the decentralization of virtual information.