IPFS – The Distributed Web
A peer-to-peer hypermedia protocol to make the web faster, safer, and more open.
What is IPFS?
IPFS is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files.
In some ways, IPFS is similar to the World Wide Web, but IPFS could be seen as a single BitTorrent swarm, Exchanging objects within one Git repository.
In other words, IPFS provides a high-throughput, content-addressed block storage model, with content-addressed hyperlinks this forms a generalized Merkle directed acyclic graph (DAG).
IPFS combines a distributed hash table, 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, except for every node they are connected to Distributed Content Delivery saves bandwidth and prevents DDoS attacks, which HTTP struggles with.
Instead of referring to objects (pics, articles, videos) by which server they are stored on, IPFS refers to everything by the hash on the file.
The idea is that if in your browser you want to access a particular page then IPFS will ask the entire network “does anyone have this file that corresponds to this hash?”
and a node on IPFS that does can return the file allowing you to access it.
IPFS uses content addressing at the HTTP layer. This is the practice of saying instead of creating an identifier that addresses things by location,
we’re going to address it by some representation of the content itself. This means that the content is going to determine the address.
The mechanism is to take a file, hash it cryptographically so you end up with a very small and secure representation of the file
which ensures that someone can not just come up with another file that has the same hash and use that as the address.
The address of a file in IPFS usually starts with a hash that identifies some root object and then a path walking down.
Instead of a server, you are talking to a specific object and then you are looking at a path within that object.
IPFS and Blockchain
“This is one of the most exciting use cases for IPFS. A blockchain has a natural
DAG structure in that past blocks are always linked by their hash from later ones.
More advanced blockchains like the Ethereum blockchain also has an associated
state database which has a Merkle-Patricia tree structure that also can be emulated using IPFS objects.”
Dr. Christian Lundkvist
When brought together IPFS and Blockchain we can only be limited by our imagination.
Smart Contracts only open further utilization possibilities to the linked technologies.
-Decentralized p2p file sharing.
-Chat dApps with p2p file transfer.
-Decentralized File Storage