Loading...

NFT et Smart Contract : Fonctionnement et Enjeux

Les NFTs (Non-Fungible Tokens) et les smart contracts sont deux concepts clés de l'univers de la blockchain. Alors que les NFTs représentent la propriété d'actifs numériques uniques, les smart contracts automatisent l'exécution d'accords. Cet article explore en profondeur le fonctionnement de ces technologies, leurs applications et les enjeux de sécurité qui y sont associés.

Introduction aux NFTs et Smart Contracts

Les smart contracts sont devenus des éléments incontournables de l'activité des blockchains, même si leur fonctionnement reste encore méconnu. Les smart contracts sont au cœur du développement des blockchains et du Web3 en assurant la désintermédiation des échanges grâce à un code prédéfini qui s’exécute automatiquement. Imaginés par Nick Szabo, spécialiste du chiffrement et créateur d’un précurseur déchu du Bitcoin, le « BitGold », les smart contracts ont pour la première fois été mentionnés en 1994, mais ce n’est que récemment que le concept s’est démocratisé.

Un NFT (Non-Fungible Token) est un token non fongible qui représente la propriété d'un bien numérique unique sur la blockchain. Chaque NFT est distinct des autres par des métadonnées que le Smart Contract lui associe, garantissant ainsi son authenticité et son unicité.

Fonctionnement des Smart Contracts

Définition et principes de base

Un smart contract est un contrat reposant sur un code informatique, dont l'exécution répond à des conditions prédéfinies. Malgré ce que son intitulé laisse penser, un smart contract n'est donc pas si intelligent qu'on l'imagine. Un smart contract permet d'opérer une relation transactionnelle de manière désintermédiée et automatisée. A titre d'exemple, si vous souhaitez exécuter une transaction à une date de votre choix, il vous faudra passer par un smart contract, ici relativement primitif (timelock).

Les Smart Contracts sont des protocoles informatiques permettant de vérifier ou de mettre en œuvre, de manière automatique, un contrat. Écrits en code sur la blockchain, ils exécutent des instructions de façon inaltérable dès que certaines conditions sont réunies.

Lire aussi: Exemples de Smart Contracts

Exécution et validation

Premièrement, les parties contractantes doivent déterminer les conditions du contrat, une fois finalisées, elles sont traduites en programme informatique. Fondamentalement, le code représente un certain nombre d’instructions et de conditions qui décrivent les scénarios possibles de futures transactions. Lorsque le code est enfin créé, il est stocké dans la blockchain et répliqué parmi les participants à la blockchain, afin que le code soit exécuté par tous les nœuds. Si les conditions du contrat sont satisfaites et vérifiées par tous les participants du réseau blockchain, alors la transaction correspondante est exécutée puis validée.

Le rôle du "Gas"

Le « Gas » fait référence aux frais de transaction nécessaires pour compenser l’énergie du calcul essentielle à la validation par les nœuds du réseau. Tout comme Satoshi Nakamoto l’avait théorisé et appliqué à son protocole du Bitcoin, il est nécessaire de les rémunérer afin d’assurer leur intérêt à sécuriser le réseau. Car les mineurs réalisent les tâches importantes de vérification et de traitement des transactions sur le réseau, mais peuvent également le corrompre et l’attaquer. Il était donc indispensable de les rémunérer pour assurer le fonctionnement et la sécurité des réseaux. La limite de gas représente la quantité maximale de gas que vous êtes prêt à dépenser pour une transaction. Cependant, si la « limite de gas » est trop basse, un mineur peut choisir d’ignorer ces transactions ce qui implique une fluctuation des frais en fonction de l’offre et de la demande. Sur le réseau Ethereum par exemple, les frais s’effectuent avec la cryptomonnaie native d’Ethereum, l’éther $ETH. Les prix du gas sont indiqués en gwei : 1 gwei = 1 nanoETH = 0,000000001 ETH (10 -9 ETH).

Plateformes supportant les Smart Contracts

En fait, la plupart des blockchains sont en mesure d'accueillir des smart contracts : peu le savent mais de nombreux smart contracts sont exécutés sur le layer-1 de Bitcoin, comme le multi-signature (la délivrance de fonds par plusieurs décisionnaires) et les timelock contracts (la délivrance de fonds à une certaine date). Une capacité d'ailleurs facilitée par la mise à jour de 2021, Taproot, qui réduit le poids et le coût de telles opérations. Ce sont deux approches qui s'opposent et les développeurs de Bitcoin, tour à tour, ont toujours jugé l'utilisation de smart contract Turing-complet dangereuse sur le layer-1 car représentant un vecteur d'attaque dDos. La multiplication de smart contracts sur le layer-1 Ethereum représente en effet toujours un problème de congestion du réseau, d'où les nombreuses créations de layer-2 et sidechains. Aujourd'hui, outre les réseaux EVM-compatibles (c'est-à-dire s'appuyant sur le code d'Ethereum) comme Arbitrum, Gnosis Chain Loopring, Optimism ou Polygon, les plateformes Algorand, Avalanche, Cardano, Cosmos, Polkadot, Stacks, Solana, Tezos ou Waves accueillent elles aussi des smart contracts.

Fonctionnement des NFTs

Définition et caractéristiques

Les NFT, ou Non-Fungible Tokens (jetons non fongibles), sont des cryptos uniques qui sont enregistrées sur une blockchain, généralement Ethereum. Alors que les crypto-actifs traditionnels comme le Bitcoin sont interchangeables et peuvent être échangés contre d’autres unités de la même valeur, les NFT sont intrinsèquement différents. Concrètement “fongible” désigne la capacité d’un actif à être échangé contre un autre actif de même valeur. Par exemple, une pièce de monnaie peut être échangée contre une autre pièce de monnaie de même valeur. À l’inverse, un élément “non fongible” ne peut pas être échangé contre quelque chose de valeur égale. Leurs caractéristiques et leurs valeurs sont subjectives. Par exemple, il est impossible d’échanger un bijou, un terrain ou une oeuvre d’art car l’estimation de leur valeur monétaire est soumise à la subjectivité de la personne qui l’évalue. Enfin, la notion de “Token” ou “Jeton” des NFT permet d’associer l’un de ces fameux actifs “non fongibles” à un jeton numérique associé à la blockchain (voir définition ci-après). Il s’agit d’une sorte de code unique permettant d’identifier un actif numérique.

Chaque NFT possède des métadonnées qui lui sont propres, telles que des informations sur son créateur, sa date de création, sa provenance, et d’autres détails spécifiques. Les NFT utilisent la technologie de la blockchain pour garantir la propriété, l’authenticité et la traçabilité des actifs numériques. Chaque NFT est associé à un contrat intelligent (smart contract) qui définit les conditions de propriété et de transfert.

Lire aussi: Compétences et Salaire du Développeur Smart Contract

Applications des NFTs

Les NFT peuvent représenter pratiquement n’importe quel bien numérique unique. Cela inclut des œuvres d’art numérique, des vidéos, des clips audio, des GIF, des jeux vidéo, des objets de collection virtuels et bien plus encore. En fait, les NFT permettent aux créateurs de monétiser leurs créations numériques en leur attribuant une valeur unique et en leur permettant d’être achetées, vendues et échangées sur des plateformes de marché dédiées.

  • Art numérique et objets de collection : Cette première catégorie de NFT regroupe les images ou JPEG représentant différents éléments d’une collection dont chaque NFT possède des caractéristiques plus ou moins communes afin de déterminer la rareté du NFT. Les caractéristiques sont générées de façon algorithmique (la barbe, l’apparition de lunettes, chapeaux ou autres accessoires peuvent être des caractéristiques de rareté).
  • Certification et suivi de produits : Grâce à la caractéristique unique des NFT, il est possible de pouvoir les utiliser afin de faire de la certification ou du suivi d’un produit. En effet, chaque NFT hérite de l’avantage d’être sur une blockchain et donc de profiter de son immuabilité.
  • Biens virtuels dans le métavers : Le metaverse est un terme utilisé pour décrire un univers virtuel persistant et évolutif, où les individus peuvent interagir entre eux et avec des objets et des environnements virtuels. Les NFT dans le metaverse peuvent être des biens tels que des maisons, des terrains ou de l’immobilier que les joueurs utilisent ou échangent entre eux.
  • Autres domaines : Les NFT tiennent une grande place dans le marché de l'art. La dernière tendance en matière de NFT, les équipes sportives peuvent émettre des NFT représentant des moments clés de l'histoire de l'équipe ou des pièces de collection en édition limitée. Les cartes de collection de NBA ont également leur version et leur marché NFT. Des NFT représentant des enregistrements exclusifs, des performances en direct, des partitions ou des paroles originales sont désormais une part des revenus des artistes. Actes de propriété, passeports, certificats, licences peuvent être émis sous forme de NFT. En outre, les NFT permettent de créer des marchés pour les actifs numériques uniques qui n'ont pas de valeur intermédiaire ou de marché établi.

Plateformes d'échange de NFTs

Il existe de nombreuses plateformes de marché spécialisées dans les NFT où vous pouvez acheter, vendre et échanger ces actifs numériques uniques. Parmi les plus populaires, on retrouve OpenSea ou encore Rarible.

Avantages et risques des NFTs

Les NFT présentent plusieurs avantages, notamment la possibilité pour les créateurs de bénéficier directement de la valeur de leurs créations numériques, sans intermédiaire.

Les NFT comportent des risques spéculatifs qu’il est important de prendre en compte. En raison de leur popularité croissante et de la demande souvent élevée pour certains actifs numériques, les prix des NFT peuvent être soumis à une volatilité considérable. Cette volatilité peut entraîner des fluctuations rapides et importantes des prix, ce qui signifie que la valeur d’un NFT peut augmenter ou diminuer rapidement sans nécessairement refléter sa valeur réelle. Les investisseurs doivent donc être conscients que les NFT peuvent être sujets à des bulles spéculatives, où les prix peuvent être artificiellement gonflés par la demande, ce qui peut potentiellement entraîner des pertes financières si la bulle éclate. De plus, les NFT comportent des risques de liquidité. Selon les périodes et les tendances, une collection ou un NFT peut ne plus être échangée et quel que soit le prix acheté pour ce NFT. Enfin, les plateformes d’échange de NFT sont également susceptibles d’avoir des risques lors de leur utilisation (Hack, problème d’interface ou autre).

Sécurité des Smart Contracts et des NFTs

Vulnérabilités et attaques courantes

Même si l'utilisation de smart contract présente de nombreux avantages, elle comporte également des risques. Comme tout code, un smart contract peut conduire à des bugs ou des failles susceptibles d'intéresser les hackers : l'exemple le plus connu est celui de The DAO, un smart contract lancé en 2016 pour collecter des fonds destinés à une organisation autonome décentralisée.

Lire aussi: Implications des Smart Contracts

Le domaine des Smart Contracts n'est pas à l'abri de vulnérabilités, et diverses attaques ont mis en évidence des failles critiques. Prenons l'exemple du hack de la DAO en 2016, où l'équivalent de 50 millions de dollars en Ether a été dérobé à cause d'une réentrance vulnerability. Les détenteurs de NFTs peuvent subir des pertes financières directes, mais il y a aussi des répercussions à plus long terme.

La conception d'un smart contract est cruciale, car une faille à ce niveau peut compromettre la sécurité de l'ensemble du contrat. Les erreurs de codage, qu'elles soient syntaxiques ou logiques, peuvent aussi causer des vulnérabilités majeures dans les smart contracts. Avec l'augmentation des blockchains et des technologies interconnectées, les problèmes d'interopérabilité deviennent de plus en plus fréquents.

Le paysage des NFTs est truffé de menaces potentielles, allant des attaques par reentrance jusqu'aux vulnérabilités de débordement d'entiers.

Bonnes pratiques de développement

La première étape pour accroître la sécurité d'un Smart Contract est l'adoption de standards de codage établis et reconnus. Solidity, le langage de programmation le plus utilisé pour la rédaction de Smart Contracts sur Ethereum, dispose d'un ensemble de bonnes pratiques que tout développeur devrait suivre pour réduire les risques de failles. Les tests sont essentiels pour découvrir les bugs avant le déploiement des Smart Contracts. Ils doivent couvrir toutes les fonctions et scénarios possibles, y compris les tentatives d'attaques connues. Auditer le code régulièrement, c’est faire appel à des experts en sécurité extérieurs pour passer au crible le code à la recherche de vulnérabilités potentielles. Les développeurs doivent mettre en place des stratégies de mitigation afin d'éviter que de petites erreurs se transforment en gros problèmes de sécurité. Enfin, les développeurs doivent également mettre en place des plans de secours en cas de faille détectée, pour pouvoir réagir rapidement et efficacement.

Ces attaques illustrent combien il est essentiel d'adopter des pratiques de développement rigoureuses pour sécuriser les smart contracts qui sous-tendent l'écosystème des NFTs.

Sécurisation de la blockchain

La sécurisation de la couche Blockchain est fondamentale dans la prévention des vulnérabilités des Smart Contracts, en particulier ceux utilisés par les NFTs. Le choix d'un protocole de consensus adéquat est crucial pour la sécurité d'une blockchain. Un réseau blockchain doit être régulièrement mis à jour pour corriger les failles de sécurité et intégrer de nouvelles fonctionnalités. Cet exemple illustre comment un Smart Contract NFT peut être mis à jour en changeant l'adresse de son implémentation. La sécurisation de la couche Blockchain est un travail constant qui demande une adaptation aux menaces émergentes et aux nouveaux paradigmes technologiques.

Gouvernance décentralisée et sécurité

Dans l'écosystème des blockchains et des smart contracts, la gouvernance décentralisée joue un rôle majeur. La gouvernance décentralisée repose sur l'idée que les détenteurs de tokens ont leur mot à dire dans les décisions importantes. Les mécanismes de vote sont multiples, allant du simple "un token, un vote" à des systèmes plus complexes où le temps de possession des tokens augmente le pouvoir de vote. La mise en place d’un cadre de gouvernance décentralisée renforce la sécurité en permettant à une communauté plus large de surveiller et de voter pour des corrections et mises à jour de sécurité. La sécurité des smart contracts peut être grandement renforcée grâce à l'introduction de mécanismes de vote pour les mises à jour de sécurité.

Importance des standards et de l'éducation

Le développement et l'adoption de normes bien définies sont essentiels pour sécuriser les NFTs. L'éducation des utilisateurs finaux et des investisseurs s'avère cruciale. La transparence est essentielle dans le monde des NFTs. Ce bout de code illustre un contrat minimal pour la création d'un NFT basé sur le standard ERC-721. Remarque : Les audits tiers sont une pratique recommandée pour garantir la fiabilité des smart contracts en charge des NFTs. Afin de renforcer ces mesures préventives, la communauté doit s'investir dans des pratiques à long terme incluant des mises à jour régulières du code, une surveillance continue et une adaptabilité aux évolutions des menaces de sécurité.

Recherche et développement continu

La recherche constante d'améliorations dans la sécurité des Smart Contracts est cruciale pour l'avenir du marché des NFTs et de la blockchain en général. Pour renforcer la sécurité des Smart Contracts, des avancées technologiques sont régulièrement proposées. Parmi celles-ci, les techniques de formal verification permettent d'assurer mathématiquement la correction d'un Smart Contract avant sa mise en production. Avec l'intégration des cryptomonnaies et des NFTs dans l'économie globale, les réglementations gouvernementales jouent un rôle majeur dans la protection des investisseurs. La sécurité des Smart Contracts profite grandement d'une communauté de développeurs soudée et proactive. Des plateformes telles que GitHub et des forums dédiés permettent aux développeurs d'échanger sur des failles de sécurité et des solutions.

Collaboration et évolution constante

Un accent accru sur la collaboration permettra d'améliorer la réponse collective aux menaces de sécurité. La technologie de blockchain est en constante évolution, tout comme les stratégies pour maintenir la sécurité des smart contracts.

Enjeux juridiques et réglementaires

Comme beaucoup de nouveautés technologiques, les NFT font partie des innovations qui ont inondé les débats avant que le droit ne puisse sérieusement les appréhender. Comme souvent, le droit se fait surprendre par une technologie (trop ?) innovante : à l’heure actuelle, la qualification juridique des NFT demeure floue. C’est pourtant de cette qualification que découleront leur régime et les règles qui s’y appliqueront, ce qui en fait une question essentielle.

Une problématique plus juridique concerne la protection du consommateur de NFT, si tant est qu’il puisse être considéré comme un consommateur au regard du droit. Le risque de fraudes et d’escroquerie est très élevé (pour la seule période de juillet 2021 à juillet 2022, on estime que près de 100 millions de dollars de NFT ont été volés), et le caractère spéculatif de la matière la rend encore plus complexe à appréhender. Peut-on considérer l’achat d’un NFT sur une plateforme dédiée comme relevant d’un rapport entre un consommateur et un professionnel ? La plupart des acheteurs de NFT agissent en effet comme des investisseurs, avec un objectif de revente et de plus-value, sur la base d’opérations régulières. Cela n’a pas empêché la Cour d’appel de Montpellier de considérer, le 21 octobre 2021, que la somme des gains réalisés n’est pas un élément déterminant pour la qualification de consommateur d’un utilisateur d’une plateforme de NFT.

Qualification juridique des NFTs

Malgré l’incertitude entourant la qualification juridique d’un NFT, il s’agit donc de la représentation d’un droit : ce n’est donc pas une œuvre de l’esprit en soi. Ce pourrait être le support d’une telle œuvre.

Si le NFT est émis hors d’une plateforme, et donc non-couvert par ses conditions générales, alors le smart contract pourrait être assimilé à un contrat d’adhésion entre le propriétaire du NFT et l’acheteur. Les règles du droit commun des contrats s’appliquent : par exemple, le défaut d’information de l’article 1112-1 du Code civil entraîne la nullité du contrat, si l’information en question est déterminante du consentement.

En somme, un NFT reste aujourd’hui un objet juridique non identifié.

tags: #nft #et #smart #contract #fonctionnement

Articles populaires:

Share: