Ecology of Ideas: InterPlanetary File System
The InterPlanetary File System (IPFS) is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. A peer-to-peer hypermedia protocol to make the web faster, safer, and more open.
IPFS could be seen as a single BitTorrent swarm, exchanging objects within one Git repository. In other words, IPFS provides a high through put content-addressed block storage model, with content addressed hyper links. This forms a generalized Merkle DAG, a data structure upon which one can build versioned file systems, blockchains, and even a Permanent Web. IPFS combines a distributed hashtable, an incentivized block exchange, and a self-certifying namespace. IPFS has no single point of failure, and nodes do not need to trust each other.
IPFS isn’t exactly a well-known technology yet, even among many in the Tech community, but word is quickly spreading among folks in the open-source community.
I first heard of it at the Decentralized Web Summit: Locking the Web Open, June 8‐9, 2016 | Internet Archive | San Francisco, CA. Where I got excited by its potential to greatly improve file transfer and streaming speeds across the Internet. IPFS eliminates the need for websites to have a central origin server, making it perhaps our best chance to entirely re-architect the Internet — before its own internal contradictions unravel it from within.
The Web of Future Needs IPFS Today.
Issues with HTTP
HTTP is inefficient and expensive: downloads a file from a single computer at a time, instead of getting pieces from multiple computers simultaneously.
One of biggest problem with HTTP: it erodes. If one link in an HTTP transfer cuts out for whatever reason, the whole transfer breaks. Humanity’s history is deleted daily, The average lifespan of a web page is 100 days. Remember GeoCities? The web doesn’t anymore.
The Web’s centralization limits opportunity: The Internet has been one of the great equalizers in human history and a real accelerator of innovation. But the increasing centralization of control/power is a threat to that.
Our Apps are depend to the backbone: Developing world. Offline. Natural disasters. Intermittent connections. All trivial compared to interplanetary networking. The networks we’re using are so 20th Century. We can do better.
Solutions with IPFS
IPFS makes it possible to distribute high volumes of data with high efficiency. And zero duplication means savings in storage. “ We use content-addressing so content can be decoupled from origin servers, and instead, can be stored permanently. This means content can be stored and served very close to the user, perhaps even from a computer in the same room. Content-addressing allows us to verify the data too, because other hosts may be untrusted. And once the user’s device has the content, it can be cached indefinitely.” — Juan Benet, The Creator of IPFS.
IPFS provides historic versioning (like git) and makes it simple to set up resilient networks for mirroring of data. Git’s version control systems have managed to develop important data collaboration workflows. The Git toolchain offers versatile versioning functionality that large file distribution systems severely lack. New solutions inspired by Git are emerging, a personal file storage system, and a data collaboration toolchain and dataset package manager. Git has already influenced distributed filesystem design , as its content addressed Merkle DAG data model enables powerful file distribution strategies. What remains to be explored is how this data structure can influence the design of high-throughput oriented file systems, and how it might upgrade the Web itself.
IPFS remains true to the original vision of the open and flat web, but delivers the technology which makes that vision a reality. “We make websites and web apps have no central origin server,” Juan explained. “They can be distributed just like the Bitcoin network is distributed.” Which makes it possible to access Internet content despite sporadic Internet service or even while offline.
IPFS powers the creation of diversely resilient networks which enable persistent availability with or without Internet backbone connectivity.
Here’s How IPFS works
When looking up files, you’re asking the network to find nodes storing the content behind a unique hash.
Every file can be found by human-readable names using a decentralized naming system called IPNS.
How We Can Use IPFS Now
Archivists: It’s not enough to organize the world’s information — we need to store it in a way the world can remember it. “ And then let’s see the fuckers try to burn down this Library of Alexandria.” -Kyle Drake, founder of Neocities. IPFS provides deduplication, high performance, and clustered persistence.
Service providers: If your company delivers large amounts of data to users, a peer-to-peer approach could save you millions in bandwidth. With video delivery, a P2P approach could save 60% in bandwidth costs. IPFS can provide secure P2P content delivery.
Researchers: If you’re working with, distributing, and analyzing huge datasets, IPFS offers fast performance and decentralized archiving.
Developing world: High latency networks are a real barrier of entry to developing world. IPFS provides resilient access to data, independent of low latency or connectivity to the backbone.
Content creators: IPFS brings the freedom and independent spirit of the web at full force — and at low cost. IPFS can help deliver content in a way which can save you considerable money.
Juan Benet summed the issue of centralization
“The web today is highly centralized. I find it very concerning that so much of human expression and human communication these days is routed entirely via centralized social networks which may disappear at any moment, bringing down all the data with them — or at least breaking all the links.”
“Building an information network that will stay up forever is as modern as it gets. We’re pushing for a fully distributed web, where applications don’t live at centralized servers, but operate all over the network from users’ computers… a web where content can move through any untrusted middlemen without giving up control of the data, or putting it at risk.”
IPFS would help the Internet grow into the system we’ve always aspired it to be at our most idealistic, but cannot become with our current protocols: Truly capable of connecting the whole world (even offline) to a permanent but constantly evolving expression of The Story of Humanity.