HBS2 P2P Storage and Platform

What is HBS2?

A decentralized content-addressable storage ( CAS ) system with peer-to-peer replication. No central servers. Local first. E2E encrypted ( if you wish ).

HBS2 implements and provides functions required for P2P and local-first applications development.

Why HBS2?

Have you ever thought that all your team members have a full copy of the source code of projects you work on because of Git's nature, and that you actually do not need GitHub or any other central service?

Have you ever thought that something like Git + BitTorrent may bring a totally decentralized way of working, without relying on domain systems, service providers, particular IP addresses, hosts, specific physical servers, desktops, phones, phone numbers, emails, or accounts in social networks?

Anything that could be broken, stolen, leaked, banned, confiscated, cut off, censored, compromised, and so on.

That any data of any size may be described as a 44-symbol (32-byte) hash code, and that’s basically all you need to retrieve any of your data back at any time.

Have you ever thought that all you need to address someone, send them a message, share data, authenticate yourself, and verify counterparty authorization is just a couple of encryption keys (32 bytes / 44 symbols each).

Have you ever thought that all your data may be dynamically replicated across multiple servers (and you can know exactly how many, if you want)?

If so, HBS2 might be useful for you.

HBS2 Status

It works.

HBS2 has been under active development since December 2019, with earlier attempts dating back to 2017–2018 when I was searching for decentralized collaboration tools but found nothing that suited my needs.

Since March 2021 HBS2 has been fully self-hosted. All work happens within HBS2 itself — GitHub serves only as a mirror and a way for non-HBS2 users to access the source code.

HBS2 can now host websites in a P2P fashion, which is how this page appeared.

Features

Bootstrap / Peer Discovery

Enables decentralized discovery of new peers without relying on central servers

(PEX) Peer Exchange

Peers can share information about other active peers, improving network connectivity.

P2P Messaging / PubSub

P2P Authentication / Authorization

Multi-Protocol Support

HBS2 supports multiple transport and content distribution protocols.

Transport Layer Encryption

Ensures all network communication is secured end-to-end.

Storage Layer Encryption

Data is encrypted at rest, ensuring security even in untrusted environments.

Merkle Trees Tooling

Efficient data verification and replication mechanisms using Merkle Trees.

Cryptographic Primitives for P2P

Built-in cryptographic tools for secure peer-to-peer communication.

Synchronization and Replication

Ensures data consistency and redundancy across the network.

Consensus

Applications

HBS2 is suitable for various use cases including:

Distributed P2P Git

Although Git is known as a DVCS (Distributed Version Control System), it is not truly distributed. It lacks decentralized transport, leading to centralization, with GitHub being a prime example.

We introduce a decentralized and truly distributed solution for cooperative development — "hbs2-git".

It extends Git using its mechanisms and provides content distribution on top of HBS2 protocols. You can work with the distributed storage just like a regular Git repo. Changes will be automatically replicated across all participants without the need for central servers.

P2P File Sharing

Securely share and distribute files over a decentralized peer-to-peer network.

Decentralized Messaging

Encrypted, peer-to-peer messaging without reliance on central servers.

Encrypted Data Replication

Distribute and synchronize encrypted datasets across multiple peers securely.

Related Projects