← projects

Project Prometheus

A privacy-preserving anonymous e-voting system with a 3-phase cryptographic architecture

While the source code isn't public for now, you'll find a detailed breakdown of the architecture, decisions, and implementation approach below.

What

An anonymous online voting system designed around strict domain separation: the identity zone never sees vote content, and the vote zone never sees voter identity. Phase 1 uses ECDSA-signed one-time tokens. Later phases add mixnet routing and threshold homomorphic encryption for full receipt-freeness.

Why

...

Architecture

Three phases of increasing privacy guarantees:

| Phase | Name | Mechanism | |---|---|---| | 1 | MVP | Domain separation + ECDSA signed nonce + SHA-256 spent-check | | 2 | Mixnet | Traffic unlinkability via blind signatures + mixnet routing | | 3 | Threshold Tally | Receipt-freeness via threshold homomorphic encryption + DLT |

The monorepo separates services by network zone:

Stack

| Layer | Choice | |---|---| | Auth service | .NET 8 + EF Core + PostgreSQL | | Vote service | .NET 8 + PostgreSQL | | Frontend | Next.js + TypeScript + Tailwind | | Crypto | ECDSA P-256, SHA-256 | | Infra | Docker Compose + Nginx | | Tests | xUnit |

What I learned

...