Plateforme de vote électronique sécurisée

Projet de recherche universitaire livrant des élections vérifiables via smart contracts Solidity, dashboards React et traçabilité RGPD.

Rôle: Ingénieur rechercheDurée: Projet de fin d’étudesStack: React • Node.js • Express • MySQL • Solidity • Hardhat
SolidityReactNode.jsMySQLEthereumSecurity TestingGDPR
Plateforme de vote électronique sécurisée
En bref
  • Problème
    Projet de recherche universitaire livrant des élections vérifiables via smart contracts Solidity, dashboards React et traçabilité RGPD.
  • Rôle
    Ingénieur recherche
  • Durée
    Projet de fin d’études
  • Stack
    React • Node.js • Express • MySQL
  • Focus
    Solidity • React • Node.js
  • Impact
    Double vote: Détecté : 0
Double vote
Détecté : 0
Constats d’audit
0 critique
Débit électeurs
500/min (simulation)

Problème

Projet de recherche universitaire livrant des élections vérifiables via smart contracts Solidity, dashboards React et traçabilité RGPD.

Contexte

S — Les pilotes de vote digital sacrifient souvent la transparence pour la commodité. Ma thèse explorait si la blockchain pouvait offrir les deux sans submerger les administrateurs. T — Prototyper une élection de bout en bout : inscription, bulletin, dépouillement et observation, le tout durci contre la manipulation et les fuites de données.

Prototype e‑voting blockchain avec Solidity + React

Flow complet : inscription, vote, tally et audit.

PoA limite les coûts tout en gardant l’intégrité.

Auditabilité RGPD + tests sécurité

Confidentialité via IDs hashés et minimisation.

Smart contracts testés avec MythX et audits manuels.

Architecture

  1. Implémenté une stack trois tiers : UI React, middleware Node.js/Express et contrats Solidity sur réseau Ethereum PoA.
  2. Enregistré les votants via IDs hashés + vérification off-chain, puis émission de JWT courts pour interagir avec le contrat.
  3. Écrit des modules Solidity pour émission, vote et dépouillement avec modifiers RBAC et logs d’événements exhaustifs.
  4. Appliqué MoSCoW en sprints DSDM pour équilibrer rigueur crypto et UX débutant.
  5. Mené pentests (MythX, fuzz Ganache fork, audit manuel) ciblant overflow, reentrancy et manipulations temporelles.
  6. Cartographié tous les flux de données contre les principes RGPD, supprimant les champs perso post-scrutin mais conservant les totaux anonymisés on-chain.

Sécurité / Modèle de menace

  • Attaques de relecture ou de ré-entrance sur les contrats Solidity.
  • Onboarding voter non sécurisé exposant les identités.
  • Admins capables de truquer les résultats hors chaîne.
  • Violation RGPD si les données perso restaient stockées définitivement.

Compromis & retours d’expérience

La confiance civique dépend de l’alliance entre cryptographie et gouvernance pragmatique. Protéger la vie privée tout en livrant de la transparence oblige à penser à la fois comme régulateur et adversaire.

Résultats

La simulation avec 5k électeurs synthétiques s’est déroulée sans double vote ni brèche d’intégrité. Les reviewers externes n’ont trouvé aucune faille critique et l’audit trail on-chain a permis de reproduire les résultats. Le projet sert de support pédagogique à l’Université de Greenwich.

Stack technique

ReactNode.jsExpressMySQLSolidityHardhat

FAQ

Comment garantir l’intégrité ?

Logs on‑chain, contrôles de rôles et tallies vérifiables.

Comment protéger la vie privée ?

IDs hashés et PII minimale pour conformité RGPD.

Quels tests ont été réalisés ?

Static analysis, fuzzing et audits manuels.

    Plateforme de vote électronique sécurisée — Case Study