earendil

Crates.ioearendil
lib.rsearendil
version0.5.11
sourcesrc
created_at2024-02-26 15:23:15.843481
updated_at2024-10-31 04:53:48.645493
descriptionA decentralized, ban-resistant mixnet
homepage
repositoryhttps://github.com/mel-project/earendil
max_upload_size
id1153872
size561,484
Eric Tung (nullchinchilla)

documentation

README

About

Earendil is a decentralized, censorship-resistant packet-routing overlay network designed for performance and censorship resistance. It enables secure and private communication between nodes, even against powerful state-level adversaries.

Currently, the project is extremely early-stage and not ready to use. Stay tuned for updates!

Key Features

  • Robust censorship resistance
  • Confederal, non-egalitarian topology
  • Decentralized, sybil-resistant incentives based on micropayments
  • User-tunable anonymity/performance tradeoff

User documentation

Detailed info can be found in the Earendil documentation.

Developers

Layout of the crate

This repository is laid out as a Cargo workspace.

The primary, "root" crate is earendil, the primary daemon intended to be run on any machine that wishes to access Earendil (similar to the tor daemon for Tor).

Other crates live in libraries/:

  • earendil_packet implements structs for the Earendil packet format at different layers of the protocol, such as the onion-encrypted mixnet format and the format that carries the end-to-end application messages.
  • earendil_topology implements functionality for Earendil's relay graph, including helper functions for gossip

Overall, we follow an architecture where the crates in libraries/ avoid doing any I/O, and instead implement data types. Actual communication is done by the earendil daemon.

Quick example

See the docs

Commit count: 904

cargo fmt