Kaynak kodu şimdilik kamuya açık değildir; ancak aşağıda mimari, kararlar ve uygulama yaklaşımına dair ayrıntılı bir döküm bulabilirsiniz.
Ne
Katı alan ayrımı üzerine tasarlanmış anonim çevrimiçi oylama sistemi: kimlik bölgesi hiçbir zaman oy içeriğini görmez, oy bölgesi ise seçmen kimliğini görmez. Aşama 1; ECDSA imzalı tek kullanımlık tokenler kullanır. Sonraki aşamalar, tam makbuz bağımsızlığı için mixnet yönlendirme ve eşik homomorfik şifreleme ekler.
Neden
...
Mimari
Artan gizlilik garantisi sunan üç aşama:
| Aşama | Ad | Mekanizma | |---|---|---| | 1 | MVP | Alan ayrımı + ECDSA imzalı nonce + SHA-256 harcanan kontrol | | 2 | Mixnet | Kör imzalar + mixnet yönlendirme ile trafik bağlantısızlığı | | 3 | Eşik Sayımı | Eşik homomorfik şifreleme + DLT ile makbuz bağımsızlığı |
Monorepo servisleri ağ bölgesine göre ayırır:
- auth-service (.NET 8) — kimlik bölgesi, kimlik bilgisi düzenler, oy içeriğini hiçbir zaman saklamaz
- vote-service (.NET 8) — oy bölgesi, kimlik bilgisi hash doğrular, seçmen kimliğini hiçbir zaman saklamaz
- frontend (Next.js) — seçmen arayüzü ve yönetici paneli
- infra/ — PostgreSQL, Nginx, Docker Compose
Teknolojiler
| Katman | Seçim | |---|---| | Auth servisi | .NET 8 + EF Core + PostgreSQL | | Oy servisi | .NET 8 + PostgreSQL | | Frontend | Next.js + TypeScript + Tailwind | | Kriptografi | ECDSA P-256, SHA-256 | | Altyapı | Docker Compose + Nginx | | Testler | xUnit |
Öğrendiklerim
...