Avant de se lancer dans la création d’un NFT, il est important d’en comprendre le fonctionnement. Dans l’imaginaire collectif, un NFT est une image qu’il est possible d’acheter ou de vendre. Il sera parfois question de Blockchain et de rareté.
Il serait trop long d’expliquer le fonctionnement d’une blockchain dans cet article, mais les propriétés qui nous intéresse sont « l’immuabilité » c’est à dire que toutes informations enregistrées dans une blockchain ne peut pas être supprimé. Et ce qu’on peut appeler « une gouvernance décentralisé » c’est à dire qu’il y a plusieurs acteurs en charge d’enregistrer et de sécuriser la blockchain et qui rend la blockchain immuable.
Dans l’univers de la blockchain, on définit deux type de jetons/tokens :
Le NFT, est utilisé dans le cas où l’on souhaite définir qu’une ressource numérique comme une image, une vidéo, du texte… est la propriété d’une personne (morale ou physique). Dans ce cas là, la propriété ne peut pas être dupliquée à un autre.
Un cas d’usage de NFT est la propriété intellectuelle grâce à la propriété d’horodatage. Il existe des services comme Block’Act qui permettent d’enregistrer et donc d’horodaté un document ou œuvre sur la blockchain tout en délivrant une attestation permettant de retrouver le NFT en question.
Pour commencer, il va falloir choisir une blockchain, ce choix est important car il existe de nombreuses blockchains mais toutes ne se valent pas. Dans un premier temps il faut trouver une blockchain qui prend en charge la production de NFT. Dans les plus connues on peut retrouver Ethereum, Solana, Polygone, Tezos, Avalanche… Il faut ensuite évaluer si la blockchain en question est une blockchain d’avenir.
S’assurer qu’une blockchain a de l’avenir n’est pas évident, on peut reprendre l’air du Web où de nombreux acteurs se sont créés mais n’ont pas perduré comme par exemple AOL, yahoo… qui étaient de gros acteurs reconnue mais qui maintenant ne le sont plus.
Il existe plusieurs points à vérifier :
Un NFT correspond à un programme (smart-contract) sur une blockchain répondant à certaines normes prédéfinies, ces normes varient en fonction des blockchains.
Il va donc falloir une fois la blockchain choisit apprendre à programmer des smart-contracts, dans le langage pris en compte par la blockchain, et apprendre les différentes normes NFT et morceaux de codes relatifs à notre blockchain.
La différence entre un programme et un smart-contract c’est qu’une fois votre smart-contract déployé sur une blockchain il n’est plus possible de l’arrêter. Si ce dernier contient des bugs il ne sera donc plus possible de le corriger.
C’est pourquoi il faut bien comprendre chaque ligne du code utilisé et avoir des procédures de vérifications et de tests.
Déployer ou mint un NFT est l’action de mettre en en place un smart-contract contenant notre NFT sur la blockchain. Cette action va dépendre de la blockchain utilisée, par exemple sur Ethereum il est possible d’effectuer la programmation et le mint en utilisant l’outil Remix.
Il faudra également un wallet de la cryptomonnaie lié à la blockchain utilisée.
Le stockage de la ressource mis sous forme d’un NFT est un point important, de manière général le contenu smart-contract d’un NFT ne contient qu’un lien redirigeant vers le contenu, et n’est donc pas stocké directement dans la blockchain car les frais serait trop important.
Stocker les informations sur un serveur de manière classique ne permettrait pas d’assurer l’immuabilité du contenu, c’est à dire que le propriétaire du serveur serait en capacité de modifier le contenu du NFT.
Il existe d’autre solutions qui utilisent le réseau décentralisé IPFS qui permet d’identifier les fichiers de manière immuable, mais ce fichier doit être stocké sur ce qu’on appel un nœud (qui est pour simplifier un serveur). Pour permettre de retrouver le fichier, il faudra soit rémunérer un nœud pour le garder stocker soit créer son propre nœud. Si aucune des deux conditions est remplit alors notre fichier peut disparaître petit à petit du réseau.
Des solutions blockchain existent comme filecoin avec le couplage de nft.storage, qui permet le stockage dans le temps du NFT. Ces solutions demandent un paiement pour l’enregistrement et pour chaque consultation du fichier.
Il existe plusieurs plateforme de mise en vente de NFT, chacune possède des normes auquel il faudra répondre au moment de la programmation du smart-contract.