Les approbations sont au coeur du sujet
Les approbations sont souvent diabolisées dans l'espace des NFT. Les membres de la communauté veulent voir des affichages de mise en garde voire des panneaux de signalisation de la part des portefeuilles, et exigent des réponses de la part des marketplaces. Il est compréhensible que le sujet des approbations soit anxiogène.
Mais honnêtement, le web3 serait à peine possible sans elles. Si vous avez déjà fait une vente sur une plateforme NFT, ou fait une offre sur une collection, vous exploitez déjà le pouvoir des approbations. Grâce aux approbations, vous pouvez configurer des conditions hors chaîne. Vos transactions s'exécutent automatiquement lorsque des conditions prédéterminées sont remplies, telles que l'atteinte de votre prix de listing, ou l'acceptation de votre offre en wETH par un vendeur.

This allows you to do other things with the asset (like prove ownership) and list on other marketplaces as well. If approvals didn't exist, you'd need a platform that had either full custody of payment assets, NFT assets, or both. In that case, you wouldn't be able to list on multiple marketplaces and have all the benefits of holding the asset!
Cela vous permet de faire d'autres choses avec votre actif (comme en prouver la propriété) et de le lister aussi sur d'autres marketplaces. Si les approbations n'existaient pas, vous auriez besoin d'une plateforme qui aurait soit le contrôle complet des actifs de paiement, soit de vos actifs actifs NFT, soit les deux. Dans ce cas, vous ne pourriez pas être listé sur plusieurs marketplaces et bénéficier de tous les avantages de la détention de l'actif !
Alors, que fait exactement une approbation ? Les approbations donnent aux smart contracts la possibilité d'interagir avec vos jetons (ERC-20, NFT, etc.). Ils peuvent les retirer à volonté, en fonction des paramètres définis dans le smart contract.
Set Approval For All (SAFA)

ce qui concerne les collections NFT dans les normes ERC-1155, ERC-721 ou ERC-721a, toutes disposent du mécanisme suivant pour l'approbation. Ces normes ont généralement à la fois une méthode d'approbation et de configuration d'approbation pour tous (SAFA). Hélas, les escrocs et les marketplaces utilisent la plus dangereuse, la dernière des deux.
Set Approval For All: Approuve TOUS les actifs dans une adresse de portefeuille donnée pour une collection NFT entière à une seule adresse (généralement un contrat/marketplace NFT)
Approval: Approuve UN SEUL actif dans une adresse de portefeuille donnée d'une collection NFT à une seule adresse (peu souvent utilisée dans les NFT).
Les arnaques liées à ces Approbations concernent deux éléments :
- Vous diriger vers un site Web non fiable pour signer une transaction d'approbation malveillante qui donne à un attaquant l'accès à vos actifs.
- Vous diriger vers un site Web non fiable pour vous faire signer une signature malveillante qui exploite vos approbations légitimes.
Remarque : La raison pour laquelle les gens essaient d'abord les signatures avant les transactions est que beaucoup de gens ne savent pas que vos actifs peuvent être volés avec une signature malveillante (où vous ne payez pas de gaz), qui exploite vos approbations légitimes.
Vous voyez le schéma ici ? Vous diriger vers un site Web frauduleux est la clé. Getting you to an untrusted website is the name of the game here. Dans notre article Un portefeuille pour chaque occasion, nous expliquons que se rendre sur un site Web frauduleux avec votre portefeuille de vente ne doit jamais être fait, et se rendre sur un site Web frauduleux avec votre portefeuille de coffre-fort (un portefeuille qui n'a aucune approbation) ne doit faire que des signatures sans gaz, comme décrit dans notre article Signature sécurisée 101.
Que se passe-t-il quand vous signez une approbation ?
Que se passe-t-il exactement quand vous signez une approbation ? Nous appelons la fonction “Approve” de la même façon que nous le ferions dans Etherscan. method the same way we would in Etherscan (au fait, nous avons un article sur les bases d’Etherscan Basics ici). Regardons le contrat d’Apecoin pour nous aider à visualiser ce qu’il se passe:

Chaque fois que vous faites une approbation, tout ce que vous faites réellement est d'ajouter un autre utilisateur autorisé aux actifs qui existent dans votre portefeuille. Par défaut, vous, le propriétaire du portefeuille, avez généralement accès à l'envoi/la réception de jetons dans votre portefeuille si les jetons sont conformes à une norme de jeton largement acceptée comme ERC-20, ERC-721 ou ERC-1155. Cependant, comme le découvrent rapidement nos étudiants du niveau 102, vous pouvez créer des contrats de jetons où des règles différentes peuvent s'appliquer 😈.
Voici une liste des différentes méthodes d'approbation sur chaque type de contrat :
ERC-721 (Photo de Profil/Collection Unique NFT):
Fonction: Approve
- Spender: L’utilisateur à qui vous donnez accès (comme Opensea ou une Marketplace)
- Token/TokenID: À quel ID de jeton vous donnez accès. Exemple : BAYC #4014
Fonction: SetApprovalForAll
- Operator: C’est la même chose que Spender : qui aura accès à vos jetons
- Approved: Il s'agit d'un simple vrai/faux. S'il est approuvé, l'Operator/Spender autorisé aura accès à chaque jeton de cette collection (donc si vous avez plusieurs BAYC, tous vos BAYC).
Exemples: BAYC, Azuki, Doodles
ERC-1155 (NFT Semi-Fongible)
Fonction: SetApprovalForAll
- Operator: C’est la même chose que Spender : qui aura accès à vos jetons
- Approved: Il s'agit d'un simple vrai/faux. S'il est approuvé, l'Operator/Spender autorisé aura accès à chaque jeton de cette collection (donc si vous avez plusieurs BAYC, tous vos BAYC).
Note : Il n'y a pas de méthode d'approbation dans la norme ERC-1155. Cela signifie que lorsque vous effectuez une approbation sur un contrat ERC-1155, vous l'approuvez pour TOUS ces jetons. .
Exemples: Boring Security, Adidas: Into The Metaverse
ERC-20 (Jetons Fongibles)
Fonction: Approve
- Spender: L’utilisateur à qui vous donnez accès (comme Opensea ou une Marketplace)
- Amount: Le montant de jetons que vous autorisez le contrat à utiliser. Le montant reste actif et peut être "utilisé" avec le temps. Les accros de Dookey Dash se souviendront peut-être qu'une approbation de 800 $ape a été définie, et peut-être qu'à un moment de leur parcours, ils ont dû effectuer une autre approbation !
Fonction: IncreaseAllowance (tous les jetons ERC-20 ne disposent pas de cette fonction).
- Spender: L’utilisateur à qui vous donnez accès (comme Opensea ou une Marketplace)
- Amount: Le montant duquel vous augmentez votre autorisation.
Remarque : IncreaseAllowance peut souvent être utilisée lorsque aucune approbation n'est définie pour l'adresse du bénéficiaire, lui permettant ainsi de fonctionner comme une approbation. Attention à cela !
Exemples: Apecoin, Wrapped Ethereum, AAVE (Proxy)
Approbations Scams

Les arnaques aux approbations sont les escroqueries les plus courantes dans les NFTs aujourd'hui. Cette arnaque se présente le plus souvent dans les cas suivants :
- Une escroquerie de trading NFT où un escroc vous attire vers un faux site de trading pour utiliser ou initier des approbations malveillantes.
- Une escroquerie de largage de NFT où l'escroc vous attire vers le site Web d'une fausse collection pour utiliser ou initier des approbations malveillantes.
- Un faux site dérivé de NFT où l'escroc tente d'utiliser ou d'initier des approbations malveillantes.
- Une fausse marketplace où…. bon… vous avez compris.

Je pense que vous pouvez voir un schéma émerger dans toutes ces arnaques où les approbations (légitimes ou non) sont utilisées de manière malveillante. Une grande partie de ces escroqueries est également liée au phishing. Peut-être pensez-vous vous diriger vers Opensea, mais jetez un coup d'œil à notre article “Le fishing et les tactiques de scammers” pour en savoir plus sur les sales tactiques des escrocs pour vous tromper et vous faire donner vos précieux jetons ! Vous voulez en savoir plus sur les approbations ou pensez-vous en avoir trop ? Consultez cet article sur Revoke.Cash sur la révocation des approbations !
Avez-vous des questions ou souhaitez-vous en savoir plus sur la sécurité Web3 et rester informé des informations de sécurité les plus récentes, des escroqueries et des tactiques ? Rejoignez-nous sur notre serveur Discord à l'adresse https://discord.gg/boringsecurity .


