[Ethereum] the difference between Swarm and IPFS

decentralizationipfsstorageswarm

IPFS seems a little slow on existing dapps. will Swarm load content more quickly? Also- is there a roadmap for swarm?

Best Answer

Both

  • Peer to peer
  • Data sharing network in which files are addressed by the hash of their content (Content-addressable)
  • Decentralized file transfer systems
  • Can be used to store the HTML, CSS and JavaScript that implement an application on top of the other decentralized systems. Can be used to store (arbitrary) static files.
  • Some imply that Swarm may be better for small chunks / low latency.

Because BitTorrent is good at delivering large chunks of data with high throughput and high latency. Swarm is ALSO good at delivering small chunks of data with low latency, which is necessary for some anticipated applications - Dr. Daniel Nagy, Lead Developer on the Swarm team.

  • One "advantage" of Swarm is built-in incentives (within Ethereum).

  • Some feel that Swarm is "reinventing the wheel" and ipfs & filecoin should just be used instead. Filecoin being the incentive.

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 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 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.

The message I want to send couldn't possibly be more audacious: I strongly believe IPFS is the replacement to HTTP...Instead of looking for a centrally-controlled location and asking it what it thinks /img/neocitieslogo.svg is, what if we instead asked a distributed network of millions of computers not for the name of a file, but for the content that is supposed to be in the file? This is precisely what IPFS does.

IPFS is general purpose, and has little in the way of storage limitations. It can serve files that are large or small. It automatically breaks up larger files into smaller chunks, allowing IPFS nodes to download (or stream) files from not just one server like with HTTP, but hundreds of them simultaneously. The IPFS network becomes a finely-grained, trustless, distributed, easily federated Content Delivery Network (CDN). This is useful for pretty much everything involving data: images, video streaming, distributed databases, entire operating systems, blockchains, backups of 8 inch floppy disks, and most important for us, static web sites.

Swarm

Swarm - Decentralised data storage and distribution: Swarm is a peer to peer data sharing network in which files are addressed by the hash of their content. Similar to Bittorrent, it is possible to fetch the data from many nodes at once and as long as a single node hosts a piece of data, it will remain accessible everywhere. This approach makes it possible to distribute data without having to host any kind of server - data accessibility is location independent. Other nodes in the network can be incentivised to replicate and store the data themselves, obviating the need for hosting services when the original nodes are not connected to the network.

source: web3 docs

Other Fun Sources

Related Topic