Les fonctions de contrats intelligents : comment repérer une arnaque
Points clés : |
— Les fonctions de contrats intelligents sont des instructions données à la blockchain. Elles nous permettent d’approuver certaines interactions entre nos wallets et des tiers, comme les plateformes de NFT et les services de la DeFi. — Puisque de nombreuses personnes ne savent pas comment interpréter ces fonctions, elles confirment la transaction sur la base de la confiance, sans vraiment vérifier ce qu’elles approuvent. Il s’agit là d’une belle opportunité pour les escrocs. — Les arnaques basées sur des approbations de contrats intelligents falsifiés ont le vent en poupe ! Il est plus important que jamais de savoir ce que l’on signe. — Dans cet article, nous allons vous expliquer comment détecter les signaux d’alerte. Vous éviterez ainsi d’être victime d’une arnaque. |
Les fonctions de contrats intelligents sont actuellement l’outil privilégié des escrocs pour soutirer aux gens leurs cryptos et NFT. N’êtes-vous pas d’accord pour dire qu’il est temps d’apprendre à les déchiffrer ?
L’univers des cryptos fourmille de nouvelles opportunités et de nouveaux types d’interactions. La plupart d’entre elles reposent sur de simples contrats intelligents. Ces derniers dictent les interactions entre votre wallet et les plateformes et services du Web3. Cela vous offre une liberté sans précédent quant à l’utilisation de vos actifs numériques et vous donne accès à un univers numérique entièrement nouveau, basé sur la propriété de vos clés privées.
Seulement, liberté et responsabilité vont de pair. Dans l’univers peu familier des cryptos, on est souvent plus vulnérables aux erreurs que d’habitude : tout est nouveau, tout va vite, et l’interface utilisateur souvent complexe du Web3 rend encore plus difficile l’interprétation de chaque interaction. En bref, le Web3 est un environnement parfois complexe dans lequel une valeur réelle est mise en jeu et où les escrocs guettent votre moindre erreur.
Il est essentiel de savoir détecter les signaux d’alerte lorsque vous explorez le Web3, si vous ne voulez pas vous faire arnaquer. Et ce n’est pas aussi difficile qu’on pourrait le croire. Laissez-nous vous expliquer et vous accompagner.
Dans cet article, nous vous présentons quelques-unes des principales fonctions de contrats intelligents que vous rencontrerez. Nous verrons quelle est leur signification et comment leur présence peut aider à détecter une arnaque.
Qu’est-ce qu’une fonction de contrat intelligent ?
Commençons par le commencement : qu’est-ce qu’une fonction de contrat intelligent au juste ?
En termes simples, une fonction est un morceau de code au sein d’un contrat intelligent, qui lui permet d’effectuer des actions spécifiques. « Appeler une fonction » initie une interaction donnée entre votre wallet et une plateforme que vous utilisez.
Dans le Web3, il est impossible de ne pas interagir avec les contrats intelligents, et ces derniers ne sont pas dangereux en soi.
Mais, comme dans toute arnaque de la vie réelle, le contexte est primordial. Il s’agit donc d’être capable de repérer les signaux d’alerte qui indiquent que quelque chose ne tourne pas rond.
Quelques signaux d’alerte liés aux fonctions de contrats intelligents
Pour que vous puissiez naviguer en toute sécurité dans le Web3, vous devez vous familiariser avec les principales fonctions de contrats intelligents. Examinons chacune d’entre elles tour à tour, en expliquant leur rôle, les arnaques qui leur sont associées et la manière de détecter les dangers par soi-même.
1) La fonction SetApprovalforAll
Il s’agit d’une fonction que vous rencontrerez assez régulièrement au cours de votre interaction avec le Web3. Il est donc important de la connaître. Cette fonction apparaît le plus souvent lorsque vous mettez vos NFT en vente sur une plateforme. Son rôle est simple : elle permet à cette plateforme de transférer votre NFT de votre wallet vers celui d’une autre personne, en cas de vente.
C’est logique, n’est-ce pas ? Mais il y a aussi le revers de la médaille.
Risques associés à la fonction SetApprovalforAll
La fonction SetApprovalforAll est peut-être très courante, mais elle représente également une interaction assez risquée pour vous en tant qu’utilisateur, car sa portée est très large.
Approuver cette fonction signifie donner à la plateforme avec laquelle vous interagissez l’accès à tous les tokens ERC20 ou NFT d’un contrat intelligent donné dans votre wallet. De plus, en tant qu’accord ouvert, cela s’applique à tous les futurs tokens de ces contrats intelligents qui arrivent dans votre wallet.
C’est un peu comme si vous donniez carte blanche à un(e) ami(e). Vous dites en quelque sorte : « Je fais confiance à cette plateforme pour qu’elle fasse ce qu’elle dit et qu’elle agisse dans les limites espérées ». Mais qu’en est-il si vous faites une erreur ?
Les arnaques : comment les détecter ?
La fonction SetApprovalforAll est l’une des principales sources d’arnaque dans le secteur des cryptos. Il est donc essentiel de savoir identifier à quel moment il est sécurisé de signer, et à quel moment il y a un problème.
Ce message ne devrait apparaître que lorsque vous mettez votre NFT en vente sur une plateforme ou que vous interagissez avec un DEX. C’est logique, puisque vous devez donner à cette plateforme la permission de déplacer les tokens de votre wallet en cas de vente ou d’échange. Mais en dehors de ces situations, le fait de voir cette fonction de contrat intelligent devrait vous alerter.
Demandez-vous toujours : « pourquoi est-ce que je transfère l’accès à mes tokens à quelqu’un d’autre ?». En réfléchissant de cette manière, vous pourrez plus facilement juger de la légitimité de la transaction.
Est-ce que vous mintez un NFT ? Cette fonction ne devrait pas apparaître.
Est-ce que vous achetez un NFT ? Cette fonction ne devrait pas apparaître.
Vous inscrivez-vous sur une liste de pré-réservation ? Vous l’avez deviné, cette fonction ne devrait PAS non plus apparaître !
Maintenant que vous savez ce que signifie signer une transaction ayant ce type de fonction, vous êtes en mesure d’évaluer chaque situation dans laquelle elle apparaît, et de décider par vous-même s’il s’agit d’un signal d’alerte.
2) La fonction SafeTransferFrom
La fonction SafeTransferFrom est une autre fonction très utilisée dans les contrats intelligents. Elle apparaît lors de toute transaction au cours de laquelle vous envoyez un NFT de votre propre wallet vers un autre wallet.
Supposons, par exemple, que vous veniez de vous procurer un Ledger Nano et que vous souhaitiez envoyer les NFT de votre wallet applicatif existant vers le nouveau compte Ethereum sécurisé de votre Ledger Nano : vous verriez la fonction SafeTransferFrom apparaître sur votre wallet applicatif, et vous devriez la valider. C’est tout à fait logique dans ce contexte.
Risques associés à la fonction SafeTransferFrom
Si en revanche vous rencontrez cette fonction dans d’autres situations, c’est qu’il y a un problème. N’oubliez pas que ce que vous confirmez ici, est que vous voulez envoyer un NFT à un autre wallet. Et à moins que ce wallet ne soit le vôtre, il existe peu de situations dans lesquelles vous voudriez faire cela.
Les arnaques : comment les détecter ?
Quel type d’arnaque utilise cet appel de fonction pour vous soutirer vos cryptos ?
Un exemple récent est celui du site Web de Momoco. Il proposait aux gens de minter gratuitement des NFT, attirant plusieurs personnes désireuses d’obtenir un NFT. Le problème ? Il n’y avait aucun NFT à minter.
Au lieu de cela, en appuyant sur le bouton « Minter », un appel de la fonction SafeTransferFrom apparaissait (que les utilisateurs approuvaient en pensant qu’il faisait partie du processus de mintage, et ce grâce à l’ingénierie sociale). Cela donnait au contrat l’autorisation de transférer un NFT hors du wallet de la victime. C’est ainsi que des centaines de personnes ont perdu un NFT dans le cadre de cette arnaque.
Comment pouvaient-elles détecter l’arnaque et éviter de tomber dans le piège ?
N’oubliez pas qu’avec les appels de fonction des contrats intelligents, la seule action qui se produira avec certitude est celle qui est indiquée par la fonction, en l’occurrence un transfert d’un wallet vers un autre.
Il s’agit d’un signal d’alerte évident : si vous mintez un NFT, vous devriez voir un appel de fonction pour « Minter », et non un transfert. Dans le cas de cette arnaque, la transaction montre clairement qu’il s’agit d’un transfert. Le NFT est également transféré depuis un wallet Ledger vers une autre adresse de wallet, ce qui signifie que votre wallet envoie un NFT et ne le reçoit pas.
En résumé, un examen rapide des détails de l’appel de la fonction, y compris la vérification du type d’interaction que vous confirmez et du sens du transfert, vous permettra de vérifier la transaction et de ne pas signer sans comprendre.
3) La fonction SendEth
Voici la dernière pour cet article. Si vous explorez le Web3, il y a de fortes chances que vous ayez déjà vu la fonction SendEth. Elle signifie simplement que vous envoyez des ethers vers un autre wallet. Il peut s’agir d’un transfert d’ETH entre différentes adresses de votre propre wallet (si vous venez d’acheter un appareil Ledger, par exemple, et que vous transférez vos fonds en toute sécurité), ou d’un achat que vous effectuez sur une plateforme.
Risques associés à la fonction SendEth
Malheureusement, cette fonction peut aussi apparaître à des moments où l’on ne s’y attend pas. Lorsque vous mintez un NFT par exemple. Il arrive souvent que les utilisateurs croient minter un NFT, alors qu’en réalité ils sont en train de transférer leurs fonds vers une autre adresse.
Les arnaques : comment les détecter ?
Vous pouvez détecter cette arnaque non seulement en regardant l’appel de la fonction (qui devrait indiquer « Mint » si vous êtes vraiment en train de minter un NFT) mais aussi en examinant l’adresse de réception en haut à droite. Minter un NFT, c’est interagir directement avec la blockchain elle-même, pas avec un autre wallet. Une fois de plus, la présence d’une adresse de réception ici devrait être un autre signal fort de danger.
Arnaques liés aux contrats intelligents : adopter l’approche zéro confiance
Nous voici donc arrivés à la fin de notre tour des principales fonctions de contrats intelligents (et de leurs risques) que vous pourriez rencontrer dans l’univers du Web3.
Maintenant que vous connaissez la signification de ces différentes fonctions, les arnaques associées semblent probablement assez évidentes. Toutefois, l’ingénierie sociale peut s’avérer très puissante, surtout lorsqu’elle est associée aux nouvelles normes techniques du Web3. C’est pourquoi avant de plonger dans cette aventure, il est important de se former et de s’informer.
Alors allez-y, ne cessez jamais d’apprendre et plongez dans cet univers aux possibilités infinies qu’est le Web3 ! Le pouvoir est entre vos mains, et la Ledger Academy est là pour s’assurer que cela demeure ainsi.