ALLER AU CONTENU
TOKENISATION7 minStandards en production / Ép. 5 · Niveau 5-3

Tokens confidentiels : qui voit les montants, que vérifier

Une clé d’auditeur, une permission sur une valeur, une divulgation publique : trois façons de montrer un montant caché. Savez-vous laquelle votre token utilise ?

XIN

EN 30 SECONDES

Un mécanisme de divulgation est la façon dont un montant caché devient visible pour quelqu’un : permission sur une valeur, clé d’auditeur ou divulgation publique. Chacun touche d’autres données. On les compare ici, avec les règles sensibles et ce que je vérifierais avant d’intégrer.

À RETENIR · 3

  • Permissions par valeur, clés d’auditeur et divulgation publique sont des mécanismes différents. Concevez et testez chacun selon le périmètre de confidentialité voulu.
  • Listez chaque opération dont le token a besoin avant de choisir un mécanisme. Chiffrer le solde ne suffit pas à constituer une politique de confidentialité.
  • Avant d’intégrer, vérifiez que portefeuilles et back-offices lisent le montant réellement transféré, pas seulement le statut de la transaction.
Sur cette page

Définir qui peut apprendre quoi

EN BREF Une permission sur une valeur chiffrée, une clé d’auditeur et une divulgation publique sont trois mécanismes de portée différente.

LES MOTS À CONNAÎTRE

Identifiant chiffré (handle)
La référence qu’un contrat garde vers une valeur chiffrée, à la place de la valeur elle-même.
Clé d’auditeur
Une clé qui permet à un auditeur désigné de déchiffrer certaines données confidentielles, comme les montants des transferts.
Back-office
Les systèmes internes qui traitent et enregistrent les transferts derrière un portefeuille ou une plateforme.
Cartographie des menaces
Une carte écrite de qui pourrait apprendre quoi sur les données confidentielles, et comment.
ACL de Zama (liste de contrôle d’accès, dans le protocole FHE Zama)
Une permission sur un Identifiant chiffré (handle) La référence qu’un contrat garde vers une valeur chiffrée, à la place de la valeur elle-même. Voir le glossaire (handle). Elle ne remet pas la clé secrète FHE du réseau. Le déchiffrement passe par la voie autorisée prévue par le protocole.
Clé d’auditeur Une clé qui permet à un auditeur désigné de déchiffrer certaines données confidentielles, comme les montants des transferts. Voir le glossaire
Facultative. Les montants des transferts sont aussi chiffrés pour l’auditeur configuré. Elle ne donne aucune vue des soldes complets, et changer la clé ne touche que les transferts futurs.
Divulgation publique
Une valeur volontairement révélée à tous. Modifier une permission ensuite ne rend pas secret un montant déjà connu en clair.

Notez donc qui peut demander à voir une valeur, et jusqu’où il peut remonter. Notez aussi comment l’accès évolue et comment on récupère les clés.

Dans la section suivante : Alors, quelles règles de votre token en ont besoin ?

Partir des opérations, puis choisir ce qu’on masque

EN BREF Listez chaque opération dont le token a besoin avant de choisir un mécanisme de confidentialité : chaque règle pose sa propre question.

Éligibilité d’identité
Éligibilité et appartenance peuvent-elles être publiques, ou faut-il aussi les masquer ?
Gel partiel ou plafond
Quelle comparaison chiffrée faut-il, et qui en voit le résultat ?
Nombre de détenteurs
Comment tenir le total, et qui peut le connaître ?
Récupération ou transfert forcé
Quelle autorité peut déplacer les fonds ou consulter le montant ?

EN CLAIR

Prévoyez chaque opération : transferts simples, gels partiels et complets, transferts forcés, récupération, plafond de détenteurs et rapports. Les pouvoirs spéciaux de l’émetteur suivent d’autres règles que les transferts des détenteurs. Testez les deux.

Si vous voulez une liste publique des détenteurs autorisés, les contrôles d’adresse actuels peuvent encore servir. Si vous masquez qui est qui ou qui est sur la liste, la donne change. Chiffrer le solde ne fait pas, à lui seul, une politique de confidentialité.

ATTENTION

Les interfaces publiées d’ERC-3643 acceptent des montants en clair, dans le style d’ERC-20. Un token confidentiel ne devient pas compatible ERC-3643 parce qu’il offre des contrôles voisins. Notez les fonctions et le comportement que vous avez vraiment codés.

Dans la section suivante : Alors, que voudrais-je voir avant d’en intégrer un ?

Ce que j’exigerais avant d’intégrer

EN BREF Avant d’intégrer un token confidentiel, je voudrais la preuve que portefeuilles et back-offices lisent le résultat réel, pas seulement le statut.

ÉTAPE PAR ÉTAPE

Diagramme de flux : 3 étapesDiagramme de flux : 3 étapes. Soumis, puis Exécuté. Exécuté, puis Vérifié.1SoumisLe détenteur a demandé unmontant2ExécutéLa transaction a réussi3VérifiéUne partie autorisée avérifié le montant réel

Étape 1. Soumis. Le détenteur a demandé un montant, avant toute exécution.

Choisissez une étape pour la voir bouger
  1. Soumis Le détenteur a demandé un montant, avant toute exécution.
  2. Exécuté La transaction a réussi. Sur ERC7984Freezable v0.5.0 d’OpenZeppelin, une demande supérieure au solde libre arrive quand même ici, avec un zéro chiffré transféré ; d’autres erreurs peuvent provoquer un revert à la place.
  3. Vérifié Une partie autorisée a vérifié le montant réel, en le déchiffrant ou par une preuve.
Trois états qu’un portefeuille ou un back-office devrait distinguer. Seul le dernier dit ce qui a bougé.

Ma liste pour les portefeuilles et les Back-office Les systèmes internes qui traitent et enregistrent les transferts derrière un portefeuille ou une plateforme. Voir le glossaire, avant d’intégrer quoi que ce soit :

  • une Cartographie des menaces Une carte écrite de qui pourrait apprendre quoi sur les données confidentielles, et comment. Voir le glossaire ;
  • les versions exactes des bibliothèques ;
  • des tests sur le montant que chaque transfert a déplacé ;
  • une règle sur qui voit quoi ;
  • un test de la procédure de récupération.

Faites ensuite auditer la crypto du mécanisme choisi. Pour choisir le cadre lui-même, voyez choisir un cadre de token permissionné.

Une interface standard ne prouve pas que le code est sûr.

OBJET OBTENU

Chaque divulgation se conçoit

Permissions par valeur, clés d’auditeur et divulgation publique sont des mécanismes différents. Concevez et testez chacun selon le périmètre de confidentialité voulu.

Sources : ERC-7984 (brouillon), ERC-3643, OpenZeppelin ERC7984Freezable v0.5.0, Zama ACL, protocole Zama, transferts confidentiels Solana.

FAQ

Non : ERC-7984 est une interface de token confidentiel, encore en brouillon (Draft). ERC-3643 est un standard de token permissionné au statut Final, avec d’autres interfaces et règles. Les mêler demande du code dédié et une revue de conformité, et un gel en plus ne permet pas de passer de l’un à l’autre.

Pas si le code peut renvoyer un montant réel autre que celui demandé, toujours chiffré. L’appli doit lire ce résultat et laisser les personnes autorisées le vérifier. Le statut seul ne suffit pas.

Non : je suis l’un des auteurs nommés d’ERC-3643. Mais je n’ai ni déployé, ni exploité, ni mesuré les performances d’un système de token confidentiel. Je lis des spécifications publiques et une version fixée d’une bibliothèque, sans chiffre de production ni garantie de sécurité.

NIVEAU TERMINÉ

Ce que vous savez maintenant

  • Ce que révèlent une permission sur une valeur, une clé d’auditeur et une divulgation publique.
  • Pourquoi un portefeuille doit distinguer les états soumis, exécuté et vérifié.

Vérifiez par vous-même

Touchez ou cliquez une question pour voir la réponse.

Un token Solana configure une clé d’auditeur. L’auditeur peut-il désormais lire le solde complet de chaque détenteur ?

Non. La clé d’auditeur couvre les montants des transferts, chiffrés pour cet auditeur tant que la clé est en place. Elle ne donne aucune vue des soldes complets.

Épisode suivant :Avec l’exemption d’innovation de la SEC, le contrôle des wallets autorisés doit-il se faire dans le pool ou dans le token ?7 min
Adam Boudjemaa
Adam Boudjemaa

Ancien CTO d’Integra. Auteur nommé (1 sur 5) d’ERC-3643, premier auteur d’ERC-6960, co-auteur d’ERC-7410 et co-auteur d’ERC-8203, encore à l’état de brouillon. Conçoit des systèmes d’IA en production et des systèmes Web3 régulés.

Un projet à livrer ou un poste à pourvoir ?

Parlons de votre besoin
Suivre les notes techniques

Recevez les nouveaux articles sur l’IA en production et les smart contracts par email.