ecosistema-social-decentral.../protocols/hypercore.md

3.0 KiB

Hypercore

Hypercore, formerly known as Dat, is a distributed append-only log.

Dat was created in 2013 as a protocol designed to help data analysts collaborate on changes to data sets, but has since expanded to other use cases. Dat was renamed Hypercore in 2020 to reflect the extent of the changes. The older Dat protocol was "a p2p hypermedia protocol that provides public-key-addressed file archives which can be synced securely and browsed on-demand."

Hypercore has moved away from a distributed file system architecture. It focuses on the p2p distribution of an append-only log, and its main purpose is to be a building block for other applications. The switch to hypercore was motivated by performance and scaling improvements, and the addition of mounts for nested hyperdrives. In addition, a DHT was added for peer lookup.

A cryptographic keypair is used to sign the root of the Merkle tree as data is appended to it. Hyperdrive is the filesystem implemented on hypercore.

Hypercore focuses on mutable data by organizing content under keys. Files stored under a requested key can easily change at any time. To track changes, Hypercore keeps a version log of the dataset over time.

Identity

Networking

Data

Hypercore optionally uses DNS to give short-names to keys, so that users can have a "foo.com" address.

The primary data structure used is a tried-based tree structure, Hyperdrive, that behaves like a folder of files.

Hyperdrive is built from "hypercores", append-only logs where data is arranged in Merkle trees.

Moderation & Reputation

Hypercore's distributed networking stack, "hyperswarm", combins a Kademlia-based DHT for global discovery with MDNS to discover peers on local networks.

By default, Hyperswarm connections are unencrypted.

Social & Discovery

Privacy & Access Control

User experience (if applies)

Interoperability

Scalability

Study on scalability of Dat vs HTTP for video streaming: http://www.diva-portal.org/smash/get/diva2:1318896/FULLTEXT01.pdf

Metrics

Governance & Business Models

The Hypercore protocol's development is coordinated through the Dat Foundation nonprofit, and led by two companies, Blue Link Labs (which develops Beaker browser), and Hyperdivision consulting.

Hypercore is fully open source and free to use. Each individual in the network is responsible for persisting the data they care about by either adding their own resources (running a node) or incentivizing another group to persist their data (paying a pinning service). Therefore, the network grows in capacity as new users join. Services that rely on Hypercore are incentivized to participate in the public DHT as servers to improve performance and availability of their data - and all participating nodes help with peer-to-peer data transfer and routing.

Implementations & Applications

The Beaker browser is a decentralized web browser for Dat & Hypercore sites.

https://hypercore-protocol.org/