🔓Smart-Contrats
Maîtrisez les principes et fonctionnements des contrats intelligents.
Qu'est-ce qu'un smart-contract
Smart-contract 101
Un Smart-Contrat, ou contrat-intelligent en français, est comme le porte son nom un contrat, soit des règles définies entre des parties. Il est dit "intelligent", dans le sens ou il est établi à l'avance par un programme informatique, ce qui lui donne la capacité de s'exécuter automatiquement selon des conditions prédifinies, une fois celles-ci rencontrées.
Dans le cadre des NFT, les smart-contracts sont basés sur la blockchain et sont utilisés pour créer, gérer et échanger les actifs numériques. Il s'agit d'une composante essentielle du NFT, car c'est le contrat qui défini toute les règles associées à l'actif.
Usages d'un Smart-contract
Immuabilité
Les contrats intelligents permettent aux créteurs·rices de stipuler des règles établies lors de la création d'un NFT. Ils peuvent ainsi appliquer des droits persistantes, ne pouvant pas être modifiées après l'émission des NFT.
Les NFT peuvent être programmés pour inclure des clauses spécifiques, telles que des royalties pour les artistes, des droits d'utilisation, etc., qui ne pourront pas être modifié par la suite, ce qui facilite la gestion et la monétisation de ces actifs.
Vérifiabilité
Les smart-contrats NFT étant basés sur une blockchain, ils apportent à l'actif sous jacent tous ses bénéfices ce cette technologie que sont la sécurité cryptographique, la transparence et la décentralisation.
Ces trois paramètres de la blockchain permet de garantir l'intégrité et la vérifiabilité de la propriété d'un NFT, ainsi que de l'ensemble des ses transactions.
Rareté
Enfin, les smart-contrats NFT permettent la création d'actifs numériques uniques. En effet, le smart-contract vient associé un identifiant unique (une clé) à l'actif numérique, lui donnant une notion de rareté. Cette rareté créée alors une valeur économique.
Par exemple, avec un contrat intelligent, un artiste peut imposer que seul un nombre spécifique d'édition d'une oeuvre particulière puisse être créée. Ni plus ni moins, et ce dès la création du NFT. Ceci est donc particulièrement intéressant pour l'art, qui repose fortement sur la rareté avérée d'une pièce originale.
Une pièce d'art est créée en 10 exemplaires uniques, de manière immuable et vérifiable. Elle a donc une rareté.
Données d'un Smart-contract
Les données d'un contrat-itelligent sont l'ensemble des informations qui peuvent être inscrites au sein du contrat. Ces données dépendent du type d'actif numérique que le NFT représente, ainsi que des fonctionnalités programmables du smart-contrat selon les possibilités offertent par son protocole d'exécution (et par conséquent sa blockchain associée).
Néanmoins, voici une liste non exhaustive des données couramment incluses dans un smart-contrat NFT :
L'identifiant unique du NFT, qui est souvent représenté sous forme d'une clé cryptographique (ni plus ni moins qu'une série de caractères).
Le nom et la description de l'actif numérique que le NFT représente. Dans le cas d'une oeuvre d'art, le nom de l'oeuvre et son histoire artistique par exemple.
Les métadonnées de l'actif numérique, telles que l'auteur·rice, la date de création, le format, la taille, etc.
La quantité de NFT disponibles pour cet actif numérique. Pour l'art digital, nous parlerons du nombre d'éditions de l'oeuvre.
Les clauses sur les droits d'auteurs pour les artistes de l'actif numérique, qui spécifient le pourcentage de chaque vente qui sera reversé au créateur·rice du NFT, aussi bien pour la vente primaire (première vente) que pour le marché secondaire (vente de collectionneur·se à collectionneur·se).
Les clauses de droits d'utilisation, qui spécifient les conditions d'utilisation du NFT, telles que les limites de diffusion, les droits de reproduction, les restrictions de partage, etc. Il s'agit plus communément de la licence du NFT.
Les clauses de conditions, qui permettent de programmer des conditions spécifiques associées au NFT. Cela peut être un accès à un évènement par exemple.
Les conditions d'automatisation, qui permettent d'automatiser des tâches spécifiques liées au NFT, telles que la distribution automatioques de royalties, le transfert de propriété, etc.
En résumé, les données qui peuvent être incluses dans un smart-contrat NFT sont très flexibles et dépendent des fonctionnalités programmables du smart-contrat et des besoins de l'actif numérique représenté par le NFT.
Fonctionnement d'un smart-contract
Blockchain et protocole
Les contrats intelligent repose sur la blockchain. C'est cette technologie qui garantie l'immuabilité et l'authenticité du NFT. Pour utiliser la blockchain, il existe des protocoles à suivre. Ce sont les protocoles qui donnent la garantie que les contrats intelligents se comporteront de la manière souhaitée, en décrivant exactement comment interagir avec les fonctionnalités de la blockchain.
En résumé, les protocoles sont les règles, communes à tous, qui permettent de rédiger et lire les contrats. Nous pouvons comparer cela à la grammaire et l'othographe pour notre language. Sans elle, pas de structure, pas de règle, pas de compréhension commune.
Pour plus de détails sur les protocoles blockchain, rendez-vous dans la section dédiée sur la Blockchain.
Création du Smart-contrat
Prenons l'exemple d'un NFT dont l'actif sous-jacent est une oeuvre d'art. Lors de la création d'un NFT, nous avons donc lep rocessus suivant :
Le smart-contract est créé à l'aide d'un fournisseur (le réseau blockchain) par un artiste (ci-dessous l'acquéreur, du service du fournisseur). Cela peut être fait grâce à des interfaces utilisateurs, telles que les marketplaces NFT, ou bien par l'intermédiaire de développeurs.
Un contrat est rédigé selon les règles voulues par l'artiste (cf les données établies ci-dessous) et se voit attribué un identifiant d'authencitité unique (une clé), aussi appelé "adresse" du contrat.
Le contrat est "signé", dans le sens ou il reçoit les actifs de manière ferme et définitive. Dans notre exemple, le contrat est associée à l'oeuvre d'art.
Le NFT, composé de l'oeuvre et du contrat, est ensuite implémenté sur la blockchain. Une fois validé par le fournisseur (le réseaux blockchain), il est visible par tous.
Le NFT possède ainsi tous ses avantages, donc celui d'être non modifibale. Si les conditions définies interviennent, le contrat s'exécute automatiquement autant de fois que nécessaire.
Exécution du smart-contrat
Nous l'avons vu, un smart-contrat NFT est exécuté automatiquement par la blockchain sur laquelle il est enregistré. Le processus d'exécution d'un smart-contrat NFT est alors le suivant :
Le smart-contrat est déployé sur la blockchain. Cela implique de publier le code du smart-contrat sur la blockchain, ce qui permet à quiconque d'interagir avec le smart-contrat en envoyant des transactions à l'adresse.
Lorsque qu'un utilisateur souhaite échanger un NFT, il interagit avec le smart-contrat en envoyant une transaction à son adresse, pouvant être uen consigne d'achat, de vente, de transfert ou encore d'enchère.
Les transactions sont ensuite vérifiées par les noeuds de la blockchain (aussi appelés "mineurs"). Les mineurs sont des ordinateurs qui vérifient et valident les transactions sur la blockchain en effectuant des calculs intensifs. Une fois que les mineurs ont validé une transaction, elle est ajoutée à un bloc sur la blockchain.
Si la transaction est validée, la blockchain et le smart-contrat sont mis à jour en fonction des transactions effectuées. Chaque transaction modifie l'état du smart-contrat en mettant à jour les données stockées dans le smart-contrat. Par exemple, lorsqu'un NFT est acheté, le smart-contrat met à jour le propriétaire du NFT dans ses données.
En même temps, selon les conditions prédéfinie lors de la création du NFT, le smart-contract exécute automatiquement les actions en réponse à la transaction réalisée. Par exemple, l'oeuvre a été vendue à 1000€, 85% reviennent à l'artiste en tant que droit d'auteur. La somme est autamiquement envoyée dans le portefeuille du créateur (via l'adresse entrée à la création du NFT).
En somme, le processus d'exécution d'un smart-contrat NFT implique de déployer le smart-contrat sur la blockchain, d'interagir avec le smart-contrat en envoyant des transactions à son adresse, de vérifier les transactions par les mineurs de la blockchain, de mettre à jour l'état du smart-contrat et d'appliquer la résultant en fonction des transactions effectuées et des conditions prédéfinies du contrat.
Lire un smart-contract
L'un des avantage de la blockchain est d'être totalement transparent. Tel un livre ouvert, cela signifie que quicquonque peut lire les informations qui s'y trouve. Oui mais encore faut-il savoir trouver l'information qui nous intéresse parmi les milliards de transaction, puis être capacble de lire le langage de la blockchain !
Pour lire un smart-contrat NFT, il faut donc accéder à la blockchain sur laquelle il est enregistré et venir examiner le code du smart-contrat. Voici les étapes pour y arriver :
Trouvez l'adresse du smart-contrat NFT. Cette adresse est unique et permet d'accéder au smart-contrat sur la blockchain. Vous pouvez trouver cette adresse en recherchant l'actif numérique que vous souhaitez examiner sur une place de marché NFT ou dans un portefeuille NFT.
Utilisez un explorateur de blockchain pour accéder au smart-contrat NFT. Les explorateurs de blockchain sont des outils en ligne qui permettent d'accéder aux données de la blockchain, telles que les adresses de contrat, les transactions, les soldes, etc. Par exemple, les explorateurs de blockchain les plus couramment utilisés pour Ethereum sont Etherscan et Etherchain.
Accédez au code du smart-contrat NFT. Une fois que vous avez accédé à l'adresse du smart-contrat NFT sur l'explorateur de blockchain, vous pouvez voir le code du smart-contrat. Le code du smart-contrat est écrit dans un langage de programmation spécifique, tel que Solidity pour rester sur l'exemple d'Ethereum. Vous pouvez également voir les transactions qui ont eu lieu avec le smart-contrat, telles que les achats, les transferts, les enchères, etc.
Utilisez un outil de transcription de métadonnées pour accéder aux informations sur le NFT. Les métadonnées du NFT sont stockées dans le smart-contrat et peuvent être "décodées" en utilisant un outil de transcription de métadonnées. Généralement, cette fonction est assurée par l'explorateur blockchain.
Pour aller plus loin dans la lecture et l'analyse de données des smart-contract et, plus généralement, des NFT, rendez-vous dans la section dédiée aux outils d'analyse :
Dernière mise à jour