Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the differences between IPFS and hyperdrive?

A year ago I attended Munich meetup where I first saw hyperdrive project live, and found it impressive. I also recently stumpled upon IPFS –the InterPlanetary file system– and I wonder about the differences. It's easy to have a lot of repercusion when starting a project like this in California, so I guess they might be similar projects but still don't understand the scope of hyperdrive fully.

I very much like the API and implementation hyperdrive, so if I had to build an app over a distributed file system I believe it would be easier for me at this point to chose that project.

Is there anywhere or some bold bullet points I could use for comparison?

Thanks

like image 391
jsdario Avatar asked Jul 01 '17 09:07

jsdario


People also ask

Why is IPFS important?

IPFS allows users to host and receive content in a manner similar to BitTorrent. As opposed to a centrally located server, IPFS is built around a decentralized system of user-operators who hold a portion of the overall data, creating a resilient system of file storage and sharing.

What does IPFS stand for crypto?

The Interplanetary File System (IPFS) is a distributed file storage protocol that allows computers all over the globe to store and serve files as part of a giant peer-to-peer network.

Is IPFS a Blockchain?

IPFS is built on Blockchain Although it uses similar architectural elements like Merkle Trees, IPFS is not built on Blockchain but rather is designed to work together with existing Blockchain protocols.


2 Answers

Some specific differences between IPFS and hyperdrive, considering both as mechanisms for sharing files and directories of files between peers in a distributed fashion are that:

  • IPFS has a global namespace (a given chunk or file with a specific hash can be used or accessed in any context), while hyperdrive files and chunks are scoped to individual drives. This is a bit of a generalization, but by default a file appearing in multiple hyperdrives will be downloaded over the network for each drive.
  • A connection to the IPFS network is usually persistent (eg, with a local daemon running that applications talk to, instead of talking directly to the network). There is no single dat or hyperdrive network, only peer swarms interested in specific drives; hyperdrive applications typically discover and connect to peers on their own.
  • Discovery and reference to hyperdrives is based on public key encryption (the keypair generated by the creator), while IPFS uses content hashing (meaning, in theory, it doesn't matter who added a given file or chunk to the network)
  • IPFS's merkel tree implementation does a better job de-duplicating between slightly modified copies of the same file. Hyperdrive files are stored as single contiguous chunks; even a small append to an existing file requires re-writing the same file to the feed. It's possible for hyperdrive to evolve to handle this de-duplication in the future.

Subjective observations:

  • hyperdrive's current tooling for efficiently synchronizing entire directories of files between many peers is more polished (this is a core use-case for hyperdrive, and one of many use-cases for IPFS).
  • As of March 2018, there exists a usable web browser with native support for hyperdrive (Beaker Browser), and not for IPFS. Browser support for IPFS is likely to emerge in the next year, but will probably not be as ingrained to start (eg, will start with read-only).
  • IPFS's core libraries and tools have been ported to more languages, and have seen more review and development than hyperdrive.
like image 194
bnewbold Avatar answered Oct 20 '22 12:10

bnewbold


I think these are more or less comparable technologies. They can both be used for creating decentralized software solutions.

Hyperdrive is part of a larger ecosystem of inter-operating modules. It's the file processing part and relies on hypercore. But the overarching initiative is the not-for-profit Dat Project. See also the dat-awesome list to get an overview of the technology and its various components.

In the FAQ there is a section:

Dat vs ?

Dat has a lot of overlap with other distributed web tools, data management tools, and distributed version control. Below are some of the most common questions. See more in depth technical comparisons in the Dat whitepaper.

In general you could say that Dat with its ecosystem is more positioned towards application design, while IPFS is a generic protocol + implementations for file sharing.

There are no standards in the field of Decentralized Computing yet. It's really an unmined niche in IT. I would say of the two technologies IPFS currently has highest changes of becoming a de-facto standard. But Dat is gaining traction and has a very active community (but a little hard to perceive because of some fragmentation of all the github repo's involved, like hyperdrive). For an interesting discussion about this you should read this discussion thread.

On blockchain I can only say: Be vary careful and do your homework well, otherwise stay away!

Hope this proves helpful to you!

BTW I removed your 'blockchain' tag because it is unrelated, though any blockchain app could decide to incorporate IPFS (or Dat for that matter). There is a discussion repo for IPFS + Blockchain but it is not very active

like image 7
Arnold Schrijver Avatar answered Oct 20 '22 13:10

Arnold Schrijver