Des échanges privés aux positions persistantes

Les comptes fantômes étendent le déploiement de STRK20 que The Defiant a couvert en juin. Cette première phase a introduit sur Starknet, une solution Ethereum de couche 2, des soldes de jetons protégés, des transferts privés et des échanges. STRK20 représente les jetons déposés dans son pool de confidentialité sous forme de notes chiffrées, les transactions privées étant validées au moyen de preuves à divulgation nulle de connaissance.

La différence tient au fait qu’une position DeFi dispose d’un propriétaire durable. La méthode existante, qui utilise un contrat auxiliaire, recourt à une adresse partagée pour effectuer une opération et en restituer le produit au cours d’une seule transaction. Un compte fantôme donne plutôt au protocole un appelant pseudonyme stable, capable de conserver des soldes et des positions d’une transaction à l’autre, selon le guide starknet.js.

Les applications soumettent des appels de contrat ordinaires via `shadow_account_invoke`. Le portefeuille gère l’état privé, la génération des preuves et la soumission des transactions; l’application ne reçoit pas la clé de consultation de l’utilisateur. Le compte fantôme lui-même ne possède aucune clé de signature et ne peut être utilisé que par l’intermédiaire du contrat ShadowAccountAnonymizer.

Cela ne supprime pas le mécanisme de divulgation de STRK20. La documentation sur les clés de consultation indique qu’un auditeur agissant dans le cadre d’une procédure légale peut récupérer la clé de consultation chiffrée d’un utilisateur et déchiffrer l’historique de cet utilisateur.

La prise en charge par les portefeuilles reste importante

Les développeurs peuvent utiliser starknet.js 10.8.0, qui comprend Wallet API 0.10.4, mais ont toujours besoin d’un portefeuille connecté prenant en charge les méthodes propres aux comptes fantômes. Le guide d’intégration recommande la version stable 10.8.0.

Ready et Xverse prennent en charge l’API générale des portefeuilles STRK20, selon le guide starknet.js, mais la documentation de lancement ne précise pas quelles versions prennent en charge les comptes fantômes. La documentation de Wallet API demande aux développeurs de vérifier les fonctionnalités du portefeuille avant de proposer une action.