How It Works

The Protocol

MyMonad is a decentralized protocol for discovering peers with similar high-dimensional vectors while preserving privacy. The core primitive is the Monad: an embedding vector that represents some entity (a person, document, or concept) in mathematical form.

What the Protocol Provides

No raw data leaves the local device. Only cryptographic proofs and hashed signatures are exchanged.


Protocol Stack

LayerComponents
DiscoveryLSH signatures, DHT buckets, commit-reveal exchange
Trust5-stage handshake, progressive disclosure
SecurityEd25519 identity, X25519 key exchange, AES-256-GCM
Anti-SpamHashcash PoW, adaptive difficulty tiers (16→28 bits)
PrivacyZero-knowledge proofs (gnark/PlonK), constant-time comparisons
Transportlibp2p streams, Kademlia DHT, mDNS

The Application: Human Matchmaking

The reference implementation uses this protocol for autonomous matchmaking agents. Each user’s preferences, interests, and personality are encoded into a Monad vector via local LLM embeddings. Agents then:

  1. Discover similar peers via LSH bucket queries on the DHT
  2. Handshake through attestation, vector matching, and deal-breaker exchange
  3. Chat via end-to-end encrypted messaging (zero-persistence)
  4. Unmask with mutual consent to reveal identities

The agent runs entirely on the user’s device. Your Monad never leaves your machine—only its hashed signature participates in discovery.


The Pipeline

1. Ingest

Your personal data never leaves your device in raw form. The ingest daemon transforms your information into privacy-preserving embeddings:

2. Discovery

Your agent joins the P2P network to find compatible peers:

3. Handshake

When potential compatibility is detected, the 5-stage handshake protocol initiates:

Each stage must pass before proceeding. Failure at any point terminates the handshake without data leakage.


Cryptographic Foundation

ComponentPurpose
Ed25519Digital signatures and identity verification
X25519Diffie-Hellman key exchange for secure channels
Argon2idKey derivation from passwords
AES-256-GCMAuthenticated encryption for data at rest and chat
HashcashProof-of-work for spam prevention
gnark/PlonKOptional zero-knowledge proofs (BN254 curve)

Architecture

┌─────────────────────────────────────────────────────────────────┐
│                         Applications                            │
├─────────────────────────────────────────────────────────────────┤
│  mymonad-agent     │  mymonad-cli      │  mymonad-ingest        │
│  (P2P daemon)      │  (user interface) │  (data processing)     │
├─────────────────────────────────────────────────────────────────┤
│                         Protocol Layer                          │
│  Handshake FSM  │  Attestation  │  Vector Match  │  Human Chat  │
├─────────────────────────────────────────────────────────────────┤
│                         Core Libraries                          │
│  Monad (vectors)  │  LSH (hashing)  │  Hashcash  │  ZK Proofs   │
├─────────────────────────────────────────────────────────────────┤
│                         Services                                │
│  Anti-Spam (adaptive PoW)  │  Chat (encrypted)  │  Discovery    │
├─────────────────────────────────────────────────────────────────┤
│                         Infrastructure                          │
│  Crypto (identity)  │  Agent (P2P)  │  IPC (local comms)       │
└─────────────────────────────────────────────────────────────────┘

Privacy Guarantees


Why This Matters

Traditional matching systems require you to surrender your data to centralized servers. They see everything: your preferences, your interactions, your rejections. This data becomes a liability—breached, sold, or weaponized.

MyMonad inverts this model:


Ready to Begin?

The protocol is open. The code is auditable. Your privacy is non-negotiable.

Get Started →