IPFS, found online at IPFS.io, is a peer-to-peer version of the internet that promises to make the web faster, safer, and more open. Here’s our review.
What is IPFS?
IPFS, or InterPlanetary File System, is a peer-to-peer hypermedia protocol designed to make the internet faster, safer, and more open. It’s a distributed version of the internet that promises to be “the web of tomorrow.”
Why do we need technology like IPFS? Conventional technology like HTTP is inefficient and expensive. With HTTP, the internet downloads a file from a single computer at a time instead of getting pieces from multiple computers simultaneously. Using P2P methods like IPFS, we can save 60% in bandwidth costs when streaming videos.
Another problem with today’s internet is that it’s fragile. Pages and websites can easily disappear overnight. IPFS will provide historic versioning (similar to github) while making it easier to set up resilient networks for data mirroring.
Ultimately, the technology behind IPFS makes it possible to distribute high volumes of data with a high rate of efficiency. And, since data isn’t duplicated, we can save storage space.
IPFS was developed by Protocol Labs. It’s an open source project in active development.
How Does IPFS Work?
IPFS aims to replace HTTP and build a better internet. How does it plan on doing that? Here’s what happens when you add files to IFPS:
- Each file, and all of the blocks within that file, are given a unique fingerprint called a cryptographic hash
- IPFS removes duplications across the network and tracks version history for every file
- Each network node stores only content it’s interested in; some indexing information is attached to help figure out who is storing what
- When looking up files, you’re asking the network to find nodes storing the content behind a unique hash
- IPFS uses a decentralized naming system called IPNS to give each file a human-readable name
You can read a more detailed, more technical outline of IPFS at the company’s whitepaper here: https://github.com/ipfs/papers/raw/master/ipfs-cap2pfs/ipfs-p2p-file-system.pdf
Overall, IPFS works in a way that’s similar to the modern internet. However, it’s more similar to a single BitTorrent swarm. It’s a high-throughput content-addressed block storage model where users can access information using content-addressed hyperlinks.
Some of the key features of IPFS include:
The IPFS identities technology manages node identity generation and verification. Nodes are identified using a NodeID, which is a cryptographic hash of a public key. Each node stores their public and private keys, with the private key being encrypted with a passphrase.
The IPFS network manages connections to other peers using various underlying network protocols. The network is configurable. IPFS nodes communicate with hundreds of other nodes in the network (or potentially, the entire internet). Some stack features of the IPFS network include transport, reliability, connectivity, integrity, and authenticity systems.
The IPFS routing system maintains information to locate specific peers and objects. It responds to both local and remote queries. Routing defaults to a DHT, but it’s swappable.
IPFS uses a unique block exchange protocol called BitSwap to govern efficient block distribution. BitSwap is modeled like a market, and users have some minor incentives for data replication. Trade strategies are swappable.
A Merkle DAG of content-addressed immutable objects with links. The objects are used to represent arbitrary data structures, including file hierarchies and communication systems.
IPFS uses a versioned file system hierarchy inspired by Git. You know how on Github you can view the complete file history and changes over time? IPFS wants to do something similar.
IPFS uses a self-certifying mutable name system.
Together, the features above make IPFS the new version of the internet we need for the digital age – or at least, that’s what its developers are hoping for.
Who Can Use IPFS?
IPFS is being marketed as a better version of the internet for everyone. However, it’s going to be particularly beneficial to a number of specific groups on the internet. Some of the groups mentioned on the IPFS.io website include:
Archivists will enjoy core IPFS features like deduplication, high performance, and clustered persistence. It’s a better, more intelligent, less fragile storage system for our world’s biggest media platform – the internet.
Companies that deliver large amounts of data to users can benefit from IPFS. A peer-to-peer system like IPFS could save you millions in bandwidth. With IPFS, service providers can enjoy secure, P2P content delivery.
IPFS offers fast performance and decentralized archiving, making it ideal for those who work with, distribute, or analyze huge sets of data.
Many developing regions of the world suffer from high latency networks, making it difficult to access the internet and participate in the digital economy. IPFS provides resilient access to data, regardless of low latency or connectivity to the backbone.
IPFS and the blockchain work well together. You can address large amounts of data with IPFS and place permanent IPFS links into a blockchain transaction. Using this method, you can secure your content and timestamp it without actually putting your data on the chain itself. You’re just basically putting a link to the data.
IPFS embraces some of the best parts of the internet – like freedom and independent spirit – and makes them better. As the IPFS website explains, the service can help deliver content “in a way which can save you considerable money.”
Who Created IPFS?
IPFS was created by a company named Protocol Labs.
Protocol Labs believes the internet “has become humanity’s most important technology.” Their goal is to build protocols, systems, and tools that improve how it works. Right now, they’re specifically working on tools that affect how we store, locate, and move information – like IPFS.
You can view the full list of Protocol Labs projects here: https://protocol.ai/projects/
IPFS is at the top of the list. However, other projects in active development with IPFS include Filecoin (a cryptocurrency powered storage network where miners earn Filecoin by providing hard drive space to the network), libp2p (a modular networking stack that makes it easy for developers to build large P2P networks), and IPLD (the data model for the decentralized web that connects all data through cryptographic hashes).
All Protocol Labs work is open source.
You can learn more about the company, its developers, and its investors here: https://protocol.ai/team/
Protocol Labs has a worldwide presence. They meet up in countries around the world. However, they do not appear to have a single office or headquarters. Developers can be found across the United States, Canada, Spain, Portugal, Germany, and Poland.
Ultimately, IPFS is designed to change the internet as we know it. It’s built to replace HTTP while solving some of HTTP’s biggest efficiency problems. Using blockchain technology, IPFS can create a faster internet while lowering bandwidth. Stay tuned for more information about IPFS as the project continues to develop.