Retour aux réalisations

Ingénierie logicielle

Celo Credentials

Attestations de formation non transférables, sans frais pour le bénéficiaire, avec vérification et révocation publiques sur la blockchain.

Le projet en bref

Le besoin

Recevoir une attestation de formation vérifiable sans devoir acheter de cryptomonnaie.

Ma contribution

J’ai conçu et réalisé le contrat, le backend de relais, l’intégration frontend et les tests.

Le résultat sur testnet

Le déploiement Celo Sepolia au code source vérifié démontre l’autorisation d’un émetteur, l’émission d’une attestation, sa lecture à l’état actif et sa révocation finale au moyen de transactions et d’un état publics.

De l’émission à la révocation

Parcours de l’application de référence. Le relais prend en charge les frais d’émission ; la vérification publique est une lecture de l’état du contrat.

  1. Signer

    L’établissement autorisé signe une attestation hors chaîne (EIP-712).

  2. Émettre

    Le relais soumet la transaction et paie les frais. Le contrat valide l’autorisation.

  3. Vérifier

    L’attestation non transférable peut être vérifiée publiquement sur Celo.

  4. Révoquer

    Le propriétaire du contrat ou l’émetteur d’origine encore autorisé peut la révoquer.

Présentation

Celo Credentials est une application de référence full-stack pour des attestations de formation non transférables et sans frais pour leur bénéficiaire. Les établissements signent des autorisations EIP-712 hors chaîne, un relais paie les frais et les attestations restent vérifiables et révocables publiquement sur Celo.

Rôle et périmètre

J’ai conçu et réalisé le smart contract, le parcours de déploiement, le backend de relais, la limite de l’indexeur, l’intégration frontend, les tests et le manifeste de preuves publiques.

Problème et contraintes

Un bénéficiaire doit pouvoir recevoir une attestation vérifiable sans détenir de fonds, tout en conservant l’autorisation des émetteurs, la protection contre le rejeu et l’expiration, la non-transférabilité et la révocation.

Architecture

Un contrat Solidity testé avec Foundry valide les autorisations EIP-712. Un relais Express et viem soumet les transactions, PostgreSQL prend en charge l’indexation et une interface Next.js fournit les parcours de connexion, d’émission, de liste et de vérification.

Choix et compromis

La prise en charge des frais reste dans un relais séparé, les attestations ne peuvent pas être transférées, les nonces sont à usage unique, les échéances expirent et la révocation est limitée au propriétaire du contrat ou à l’émetteur d’origine encore autorisé.

Contexte de sécurité

Ces contrôles relèvent de la conception de la sécurité d’une application réalisée par son auteur. Ils ne sont pas présentés comme un audit externe du système.

Tests et vérification

Le dépôt public présente 11 tests Foundry réussis sur 11 pour l’émission, la non-transférabilité, le rejet du rejeu et de l’expiration, les signataires non autorisés, les parcours de révocation liés à l’émetteur et le fuzzing. La CI contrôle aussi les dépendances backend et la construction frontend de production.

Ressources et liens

Le dépôt, le contrat vérifié, la transaction de déploiement, les transactions du cycle de vie et le manifeste de déploiement lisible par machine sont publics.

Périmètre et état actuel

Il s’agit d’une implémentation de référence publique sur testnet. Elle n’a pas fait l’objet d’un audit externe pour un usage en production.

Étude de cas suivante

Security Reviews

Voir l’étude de cas