Skip to content
0x11semprezPublic

About

ophobia is a mixnet.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

79 Commits

Folders and files

Repository files navigation

Ophobia

ophobia is derived from scopophobia. Scopophobia is an intense fear of being watched.

Project History

ophobia started as a much broader effort: a privacy-first blockchain co-designing the cryptographic, diffusion and network layers in one architecture. After scoping the work, we decided to drop the blockchain and focus only on the mixnet, the network layer that hides IP-level metadata. That layer is where existing privacy coins are weakest, and it is useful on its own, independently of any ledger.

The sections below keep the original motivation, because the research question and threat model still drive the design of the mixnet.

Research Question

In a global context where data protection and online anonymity have become strategic concerns, can two economic agents today perform a truly anonymous monetary transaction?

Existing privacy coins such as Monero and Zcash offer robust answers at the transactional layer (hiding amounts, addresses and the transaction graph) but leave the network layer largely exposed. Faced with a global passive adversary capable of observing a significant fraction of internet traffic simultaneously, metadata analysis (IP addresses, propagation timing, peer topology) is enough to deanonymize a substantial share of transactions, without breaking the underlying cryptography.

ophobia is a research effort to design a blockchain entirely dedicated to confidentiality, co-designing the cryptographic, diffusion and network layers within a single unified architecture, built from day one to resist this threat model.

Threat Model

ophobia is designed against Global Passive Adversary (GPA) with the following capabilities:

  • Observes a significant fraction of internet traffic in real time.
  • Records IP-level metadata, packet timing and peer-to-peer topology.
  • Cannot break standard cryptographic primitives.
  • May correlate on-chain data with off-chain network observations.

Research Goals

  1. Characterize the network-layer leakage of current privacy blockchains under a GPA.
  2. Design a unified architecture combining:
    • Cryptographic layer: confidential transactions, sender/receiver/amount privacy.
    • Diffusion layer: gossip protocols hardened against timing and topology analysis.
    • Network layer: mixnet-based transport providing strong unlinkability of broadcast traffic.
  3. Evaluate the trade-offs between strong anonymity, latency, throughput and regulatory compliance.
  4. Explore optional compliance hooks (selective disclosure, sanction-list filtering) compatible with strong default privacy.

Ethical Disclaimer

This project is strictly academic and research-oriented. The full implementation will not be released publicly, safeguards (sanctioned-address blacklist, selective disclosure, viewing keys) are integrated by design, and the goal is to explore the trade-offs between strong anonymity and regulatory compliance, not to provide an operational tool for circumvention. Any publications will follow responsible-disclosure principles and the ethical guidelines of our institution.

Team

Design

The mixnet prototype is designed after the Loopix paper: The Loopix Anonymity System (Piotrowska, Hayes, Elahi, Meiser, Danezis, USENIX Security 2017). Loopix provides the base architecture: a stratified topology of mix nodes, Poisson-distributed per-hop delays, and cover traffic (loop and drop messages) to resist a global passive adversary.

Layout

  • mixnet/: the Go mixnet (clients, providers, mixnodes, Poisson mixing, cover traffic).
  • mixnet/cmd/bridge, mixnet/internal/bridge: local TCP bridge exposing each mixnet client to external programs.
  • chain/: Rust prototype whose nodes gossip over the bridge.

Status

Early-stage research. The deliverable is the mixnet. chain/ is a throwaway prototype (ring signatures, PoW, mempool, gossiping nodes) used as a realistic workload: its nodes exchange blocks and transactions through the mixnet over a local TCP bridge. The cryptographic ledger and diffusion layers remain out of scope as products.

Running

Install the ophobia command once (links it into /usr/local/bin):

./ophobia install

Start the mixnet and its bridge (one terminal):

ophobia bridge

Run three chain nodes over it (another terminal):

ophobia demo

Expected: every node ends at the same height and tip.

Other commands: ophobia build, ophobia test, ophobia check, ophobia fmt, ophobia clean. Run ophobia alone to list them.

Tests:

ophobia test

About

ophobia is a mixnet.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages