- ProblèmeProjet de recherche universitaire livrant des élections vérifiables via smart contracts Solidity, dashboards React et traçabilité RGPD.
- RôleIngénieur recherche
- DuréeProjet de fin d’études
- StackReact • Node.js • Express • MySQL
- FocusSolidity • React • Node.js
- ImpactDouble vote: Détecté : 0
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
- Implémenté une stack trois tiers : UI React, middleware Node.js/Express et contrats Solidity sur réseau Ethereum PoA.
- Enregistré les votants via IDs hashés + vérification off-chain, puis émission de JWT courts pour interagir avec le contrat.
- Écrit des modules Solidity pour émission, vote et dépouillement avec modifiers RBAC et logs d’événements exhaustifs.
- Appliqué MoSCoW en sprints DSDM pour équilibrer rigueur crypto et UX débutant.
- Mené pentests (MythX, fuzz Ganache fork, audit manuel) ciblant overflow, reentrancy et manipulations temporelles.
- 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
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.
