# Decentralized P2P Network

A peer-to-peer messaging network in Rust on libp2p: messages arrive in under 50 ms across 100+ nodes, with Ed25519 peer identity and Noise-protocol encryption.

> Canonical URL: https://sudohulk.com/projects/p2p-network
> Status: paused
> Tags: rust, libp2p, ed25519, noise
> Author: Vignesh Kumar A <vignesh@sudohulk.com>
> Licence: CC BY 4.0. Quote freely, cite the canonical URL.

---

## What it does

A network of peers that send messages straight to each other, with no server in the middle. Every peer has an identity of its own, and every connection is encrypted before the first message. Across more than a hundred nodes, a message arrives in under 50 milliseconds.

## Why I built it

Years of building the server side of an offline-first product made me wonder how much of that server was needed. Everything at work went through a central service that decided what happened. I wanted to know what is left of the problem when there is no centre.

## How it works

It is written in Rust on **libp2p**. Each peer holds an **Ed25519** key pair, and its public key is its identity, so a peer proves who it is with a signature instead of an account. Every connection runs the **Noise** protocol: the two peers authenticate each other and agree on keys before anything else is sent, and everything after that is encrypted.

## Status and what's next

Paused. Code not public yet.
