Closed jwerle closed 3 years ago
guys, pls share your discord handles if you are on hypercore or DatEcosystem servers
@urbien
@DougAnderson444 thanks for this. Let's go deeper. See if you can help me extend this
Feature | IPFS | Hypercore |
---|---|---|
Addressing scheme | Content-based addressing for individual blocks of data | Public-key-based addressing for a group of objects |
Addressing stability | Low. Dynamic address, changing as block changes (supports deduplication property). IPNS provides data structure address stability but requires constant refreshes | High. Static stable address (supports discovery and mutability properties) |
Addressing granularity | Each block has unique address (block's hash) | Address (pub key) corresponds to a collection of objects / files, each consisting of many blocks |
Filesystem | Low. Files are composed of lists of linked blocks, no notion of file directories, metadata, | Great. Files are managed as full-blown filesystem, with API, REST API and Posix-compliant API variants |
Storage size efficiency | Great. Same block can be reused even between files (Deduplication). But when block changes, old block remains in storage. | Low. No block-level dedup. Change in one byte, creates a new version of the file. File-level dedup can be achieved with additional management level, called corestore. |
Mutability | Low. Originally developed for static content. IPNS attempts to fix that by providing stable hash-based address for the tip of the list of blocks. IPLD?? | Great. All data structures, hypercore (log), hypertirie (key-value store) and DB (hyperbee) are built to efficiently edit and propagate changes to peers |
Human-friendly naming | No. URL contains hash | No. URL contains hash |
Discovery | TBD | Dynamic discovery of data structures or peers by topic. Topic is a name in a self-organizing gossiping protocol, derived from Bittorrent (DHT) |
Databases | TBD. OrbitDB on top of IPFS. | Two variants: Key-value store (Hypertrie) and LevelUP compatible (Hyperbee). Provides unique streaming capability to greatly improve storage size and startup, while not requiring DB server. Community-produced replicated DB on top, KappaDB and multi-hyperbee |
Direct P2P connections | Good. NAT traversal for direct P2P connections (Libp2p library) | Good, does not use central nodes, instead leverages DHT (component is called Hyperswarm) |
@urbien great table!
@mafintosh thanks! I added it to the FAQ and expanded it. Still a lot more work on comparison with IFPS is needed. The FAQ has outlined the areas of comparison that are lacking. For example, they have now 3 databases OrbitDB, AvionDB and ThreadDB and it would be great to review them and compare to what we have with Hyperbee.
@DougAnderson444 - can you help on any of the outstanding points vs IPFS in the FAQ?
:alarm_clock: Time: 18 Nov 2020, 14:00 America/New_York
Just an hour hanging out and talking about DAT stuff.
:point_right: Post a comment in this github issue with any topics you'd like to cover this week
:link: https://zoom.us/j/181036238 (Native)
:link: https://zoom.us/wc/join/181036238?pwd= (Web)
Or in your local time: https://www.timeanddate.com/worldclock/fixedtime.html?msg=Dat+Comm-Comm+Meeting+2020-11-18&iso=20201118T19&p1=1440&ah=1