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 ?
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.
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.
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
Étape 1. Soumis. Le détenteur a demandé un montant, avant toute exécution.
- Soumis Le détenteur a demandé un montant, avant toute exécution.
- 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.
- Vérifié Une partie autorisée a vérifié le montant réel, en le déchiffrant ou par une preuve.
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
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.
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 besoinSuivre les notes techniques
Recevez les nouveaux articles sur l’IA en production et les smart contracts par email.