Het @1shotapi-team ontdekte een interessante foutmodus tijdens het experimenteren met @PayPal's $PYUSD voor x402-betalingen, die achteraf misschien voor de hand lag.
In tegenstelling tot $USDC, keert PYUSD (dat een @Paxos-implementatie is) niet terug wanneer `transferWithAuthorization` wordt aangeroepen met een gebruikte nonce.
Dus als de facilitator/validatielogica expliciet controleert op een gebruikte nonce on-chain, zal de facilitator de server vertellen dat de transactie geldig is, en `/settle` zal gas verbruiken voor het verwerken van een transactie die geen PYUSD overdraagt, maar in plaats daarvan eenvoudig een `AuthorizationAlreadyUsed`-evenement genereert, wat een klant in staat zou stellen de betaalde API gratis te gebruiken, tenzij de facilitator de gegenereerde evenementen inspecteert.
Dit presenteert ook een potentieel randgeval voor toepassingen met hoge doorvoer voor dit type implementatie, waar een kwaadwillende gebruiker een groot volume x402-betalingen met dezelfde nonce naar een server zou kunnen sturen, die allemaal zouden verifiëren, zelfs als er een on-chain lezing wordt gedaan, en de facilitator zou uiteindelijk de gas betalen voor slechte transacties die geen PYUSD zullen overdragen en ook niet zullen terugkeren voordat ze in een blok worden opgenomen.
De enige manier voor een facilitator om zich hiertegen te beschermen, is door een off-chain record van ingediende nonces bij te houden EN te controleren of er een `Transfer`-evenement is gegenereerd in de uiteindelijke afrekening, zodat betaalde API's niet worden omzeild.
We zijn geïnteresseerd om te horen van x402-protocolbijdragers hierover.
Origineel weergeven1,12K
6
De inhoud op deze pagina wordt geleverd door derden. Tenzij anders vermeld, is OKX niet de auteur van het (de) geciteerde artikel(en) en claimt geen auteursrecht op de materialen. De inhoud is alleen bedoeld voor informatieve doeleinden en vertegenwoordigt niet de standpunten van OKX. Het is niet bedoeld als een goedkeuring van welke aard dan ook en mag niet worden beschouwd als beleggingsadvies of een uitnodiging tot het kopen of verkopen van digitale bezittingen. Voor zover generatieve AI wordt gebruikt om samenvattingen of andere informatie te verstrekken, kan deze door AI gegenereerde inhoud onnauwkeurig of inconsistent zijn. Lees het gelinkte artikel voor meer details en informatie. OKX is niet verantwoordelijk voor inhoud gehost op sites van een derde partij. Het bezitten van digitale activa, waaronder stablecoins en NFT's, brengt een hoge mate van risico met zich mee en de waarde van deze activa kan sterk fluctueren. Overweeg zorgvuldig of de handel in of het bezit van digitale activa geschikt voor je is in het licht van je financiële situatie.