L'équipe de @1shotapi a trouvé un mode de défaillance intéressant lors de l'expérimentation avec le $PYUSD de @PayPal pour les paiements x402, qui, avec le recul, aurait pu sembler évident. Contrairement au $USDC, le PYUSD (qui est une implémentation de @Paxos) ne revient pas en arrière lorsqu'on appelle `transferWithAuthorization` avec un nonce déjà utilisé. Donc, si la logique de facilitation/validation vérifie explicitement un nonce utilisé sur la chaîne, le facilitateur dira au serveur que la transaction est valide, et `/settle` consommera du gaz pour traiter une transaction qui ne transfère pas de PYUSD mais émet simplement un événement `AuthorizationAlreadyUsed`, ce qui permettrait à un client d'utiliser l'API payante gratuitement, à moins que le facilitateur n'inspecte les événements émis. Cela présente également un cas limite potentiel pour des cas d'utilisation à haut débit pour ce type d'implémentation où un utilisateur malveillant pourrait envoyer un grand volume de paiements x402 avec le même nonce à un serveur, tous vérifiant même en effectuant une lecture sur la chaîne, et le facilitateur finirait par payer le gaz pour de mauvaises transactions qui ne transféreront pas de PYUSD et ne reviendront pas non plus avant d'être incluses dans un bloc. Le seul moyen pour un facilitateur de se protéger contre cela est de garder un enregistrement hors chaîne des nonces soumis ET de vérifier qu'un événement `Transfer` a été émis lors du règlement final afin que les API payantes ne soient pas contournées. Nous serions intéressés d'entendre les contributeurs du protocole x402 à ce sujet.