Erebos protocol

Erebos is intended to be a fully decentralized communication and synchronization protocol. Here, “fully decentralized” means that as opposed to federated services, erebos peers do not need to rely on any servers for their functionality. And even though some servers can help with certain task like peer discovery, a user or his identity is not bound to any such server. In the core of its design is a content-addressable filesystem using objects quite similar to those used in git, although git usage and thus its design differ in some important aspects.

News

2024-06-11

Released erebos 0.1.4

2024-05-17

Released erebos-tester 0.2.2

2024-05-14

Released erebos-tester 0.2.1

2024-05-05

Released erebos 0.1.3

Specification

Work-in-progress specification of the Erebos protocol, documenting data structure, network protocol and some core services.

Haskell implementation

Main implementation of the protocol providing a CLI tool and Haskell library.

C++ library

Second implementation, written in C++, providing library with experimental API.

Test framework

Developed for testing this project, focused on networking. Uses Linux namespaces to create a virtual network.