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

2.5 KiB

Hypercore

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

It was originally designed as a peer-to-peer protocol for distributed file sharing, intended for scientific data sets, but expanded to other use cases.

Overview

Hypercore uses public-key addressing to create a filesystem compatible with peer-to-peer networking.

Content is stored as file drives under a public key. The public key could belong to a person or a site - it serves as the address of the content.

Example of a hypercore key:

87ed2e3b160f261a032af03921a3bd09227d0a4cde73466c17114816cae43336

Organizing content under keys creates a focus on mutable data. 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.

The Beaker browser is a decentralized web browser that uses Hypercore to allow users to easily publish to the web.

Data structure

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.

Network architecture & Connectivity

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.

Identity

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

Monetization & Business models

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.

Curation/Discovery

Scalability

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

Governance

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.

Resources

https://hypercore-protocol.org/