ElectionGuard
A production-grade, three-tier electronic voting protocol localized for Bangladesh's administrative geography, combining Ethereum smart contracts for tamper-proof vote settlement with RSA blind signatures for unlinkable voter privacy, WebAuthn biometrics, and hash-chained audit logs.
01.Problem & Context
Traditional centralized e-voting systems present vulnerable attack vectors: database manipulation, lack of voter verifiability, coercion risks, and compromise of ballot secrecy.
02.System Architecture & Data Flow
Next.js 16 frontend with WebAuthn client-side biometric assertions and Tesseract.js OCR NID scanning, Node.js/Express 5 & Prisma 6 backend with AES-256-GCM encrypted PII, PostgreSQL relational ledger cache, and Solidity 0.8.20 smart contracts (ElectionGuard.sol & ElectionGuardMulti.sol) with a gasless relayer pattern.
03.Engineering Challenges & Solutions
- Implementing RSA blind signatures (voteAnonymous) so neither on-chain calldata nor backend databases can link a voter to their ballot choice.
- Designing tamper-evident hash-chained audit logs where every administrative action cryptographically seals previous entries.
- Providing gasless voter participation using an Ethers.js relayer pattern so voters never need crypto wallets or gas tokens.