Accéder au contenu
  • Blogue

Les impacts du Web3 sur votre produit numérique

23 novembre — 2022

Martin Gagnon
Associé, Directeur ⏤ Exploration technologique

Pour des passionnés de technologie comme nous sommes chez Mirego, la popularité montante du Web3 représente une opportunité immense de pouvoir aider les entreprises à tirer profit des technologies innovantes que représente l’explosion des blockchains. Lorsque certains de nos clients nous ont demandé d’explorer certaines fonctionnalités pour leur produit, nous avons accepté sans hésitation de faire le saut et de développer notre expertise en programmation Web3.

Que ce soit pour faire la liaison d’objets connectés à un portefeuille de cryptomonnaie, pour la création de NFT avec des comportements personnalisés ou encore pour le développement de systèmes financiers automatisés et décentralisés (DeFi), nous avons eu la chance d’orchestrer des projets dans cet espace du Web prometteur. En plus des projets réalisés, nous partageons fréquemment notre expertise avec la communauté de développement. Nous avons notamment publié un épisode de notre podcast Mirego DevTalks au sujet du Web3, en plus de partager sur le site craft.mirego.com de courts articles techniques sur le Web3 afin d’aider d’autres passionnés à se perfectionner dans ce nouvel écosystème.

Néanmoins, nous savons que l’écosystème du Web3 reste un univers mystérieux aux yeux du public. Cet article vous aidera donc à mieux comprendre le concept de base du Web3 et répondra à vos questions sur l’impact du Web3 sur votre produit numérique.



Quand on parle de Web3, on parle de quoi?

Le Web3, c’est la nouvelle évolution du Web que l’on connaît. Après le Web des années 90 constitué de pages Web statiques, nous avons connu une première évolution du Web en 2005 avec l’apparition des sites en lecture et écriture de même que les médias sociaux. Le Web3 constitue une seconde évolution vers un Web immersif qui donne le contrôle du contenu à ses utilisateurs et qui leur permet de participer activement à l’écosystème économique.

Ainsi, le Web3 permet à certaines (ou la totalité) des fonctionnalités d’un produit numérique, de devenir décentralisées et autonomes à l’aide de smart contracts déployés sur des réseaux blockchains, tels qu’Ethereum ou Solana. En termes simples, une partie du code et de la base de données d’un produit est déployée dans un environnement public, traçable et visible à tous.

L'idée première du Web3 repose sur des concepts clés, tous orientés vers une optique de transparence :

  • Décentralisation : au lieu d’être détenus par des entités privées, l’ownership et le contrôle des données du Web3 sont distribués entre les créateurs et les utilisateurs du réseau.
  • Ouverture : tout le monde est égal et peut contribuer au contenu, à la gouvernance et au réseau, et personne n’est exclu.
  • Paiements natifs : on utilise la cryptomonnaie pour toutes les transactions au lieu de s’en remettre aux infrastructures bancaires, limitant ainsi les intermédiaires.
  • Autonomie : contrairement au Web2 qui est opéré par des entités centralisées (exemple : Facebook), le Web3 est opéré (hébergement et exécution du code) à l’aide d’incitatifs et de mécanismes économiques dans un environnement décentralisé.

L’idéologie derrière ces principes fondamentaux et la transparence sont responsables de l’engouement du Web3, puisqu’elles assurent aux utilisateur·trice·s le contrôle et l'intégrité de leurs données.



Le Web3 et les NFT, ce n’est pas la même chose?

On fait souvent référence aux NFT lorsque l’on parle de Web3, puisqu’il s’agit d’une des utilisations les plus populaires du Web3 à l’heure actuelle. Les NFT (Non-Fungible Token) sont des actifs numériques créés selon un standard (ERC721) qui permet d’attribuer un identifiant unique (accompagné de quelques métadonnées) à l’actif numérique afin de lui assigner un propriétaire. C’est comme si publiquement on pouvait connaître, avec certitude, l’identité du propriétaire de chacune des peintures d’un artiste particulier, en plus de pouvoir retracer la liste complète de tous les anciens propriétaires. 

Grâce aux technologies décentralisées du Web3, il est possible de faire BIEN PLUS que de simples NFT. Par exemple, AAVE est un protocole qui utilise plusieurs blockchains et des contrats intelligents afin de mettre en relation des prêteurs et des emprunteurs ainsi que les règles qui confèrent ces prêts. C’est un exemple parmi une panoplie de solutions numériques innovantes qui sont possibles grâce au Web3! 



Qu'est-ce que mon produit peut faire concrètement avec le Web3?

Le Web3 étant encore très jeune, l’offre actuelle des produits utilisant ces technologies n’a encore exploré qu’une infime partie des possibilités d’un tel environnement. La créativité est à ce jour la seule limite de ce que nous pourrons créer grâce aux possibilités de cet écosystème!  

Pour profiter des avantages de la blockchain, on doit d’abord déployer un ou plusieurs smart contracts dans une blockchain et connecter notre application Web traditionnelle à ces derniers. Ainsi, c’est en connectant son portefeuille cryptographique à votre application Web que l’utilisateur·trice pourra profiter des fonctionnalités de vos smart contracts et créer du contenu décentralisé dans la blockchain.

Quelques exemples d’utilisation :

  • Prendre en charge les transactions en cryptomonnaie comme mode de paiement;
  • Émettre des badges pour un événement, sous forme d’un NFT classique (exemple : POAP);
  • Donner la gouvernance d’un produit ou d’une partie d’un produit aux utilisateurs (DAO);
  • Utiliser la blockchain comme journal de traçabilité de produits (exemple : Authena.io);
  • Permettre aux utilisateurs de créer du contenu pour lequel ils en sont les vrais propriétaires (exemple : Mirror.xyz);
  • Utiliser un NFT pour valider le propriétaire d’un élément du système :
    1. Un NFT est assigné lorsque j’achète un film.
    2. Le NFT est nécessaire pour jouer le film.
    3. Il est possible de transférer le NFT à qui je veux.



Est-ce qu’il existe une blockchain meilleure que les autres?

Il existe une multitude de blockchains pouvant accueillir le code des contrats intelligents. Parmi ce nombre, EthereumPolygon et Solana sont des solutions populaires et bien documentées.

Comme tous les blockchains ont leurs avantages et leurs inconvénients, il est encore trop tôt pour identifier quelles blockchains seront les plus utilisées dans les prochaines années. Il est donc primordial de ne pas se lier trop fortement à une seule blockchain. Plusieurs produits, comme opensea.io, ont pris la décision de prendre en charge plusieurs blockchains malgré les coûts de développement supplémentaires. (Dans le monde infonuagique, c’est l’équivalent de prendre en charge AWS, Azure et Google Cloud, en même temps, pour un seul produit!) D’autres décident simplement d’opter pour des solutions populaires comme Polygon, en raison de sa simplicité d’utilisation et de sa masse d’utilisateurs en place. 



Le portefeuille cryptographique

Traditionnellement, on connaît notre utilisateur par son courriel ou son identifiant lié à une tierce partie (ex. : Facebook, Apple, Google). Dans le cas d’une application Web3 (dApp), notre utilisateur s’identifie plutôt à l’aide de son portefeuille cryptographique. En connectant celui-ci dans l’application, le système nous remet une copie de sa clé publique qui correspond à la validation de son identité numérique. Par la suite, l’application communique avec le portefeuille afin d’effectuer des opérations, définies par des smart contracts. Ainsi, l’utilisateur·trice devra donner son autorisation finale, confirmant la validité de l’opération. Cette dernière étape va finaliser la transaction qui sera indéfiniment documentée dans la base de données centralisée de la blockchain grâce à une signature cryptographique. 

Pour ajouter à la complexité, il existe une panoplie de portefeuilles cryptographiques. MetaMask, Rainbow et Trust Wallet sont parmi les plus populaires. Votre produit doit donc s’assurer d’être compatible avec le plus grand éventail possible, afin de joindre un maximum d’utilisateurs possible. On pourrait comparer cette compatibilité avec l’importance de prendre en charge plusieurs fureteurs lorsque l’on développe un site Web!  



Comment aiguiller notre utilisateur·trice?

Dans la méthode traditionnelle, c’est l’application qui décide quels serveurs contacter pour effectuer des opérations. Dans le cas d’une application Web3, c’est plutôt le portefeuille de l’utilisateur·trice qui communique avec la blockchain. Votre produit doit donc prendre en compte qu’il peut être connecté à des blockchains non supportées et doit informer l’utilisateur sur l’état de connexion et la validité de son portefeuille.

Note : Puisque le produit n’a pas de contrôle sur la validité du portefeuille et sur la validité de la blockchain, il est important d’aller lire vous-même les informations critiques de votre système.



La gestion des délais de transactions

Lorsque le portefeuille cryptographique soumet une opération pour être exécutée, celle-ci joint automatiquement une file d’attente, ce qui peut prendre plusieurs secondes ou minutes à être traitée. Le délai varie en fonction de la blockchain sur laquelle la transaction s’effectue.

La gestion des délais est un élément crucial à prendre en compte dans la conception de votre produit. Aujourd'hui, les utilisateur·trice·s ont l’habitude d’effectuer des transactions en temps réel avec les produits qu’ils utilisent. Il faut donc prévoir une expérience utilisateur qui exprime clairement à notre utilisateur·trice que l’opération est en cours de traitement et voir à bien gérer les attentes, jusqu’à la confirmation de l’opération.



Qui peut utiliser mon code Web3?

Il n’y a pas de règles existantes qui dictent qui peut appeler un contrat intelligent. La nature ouverte du système permet à n’importe qui de communiquer avec tous les smart contracts. Les règles de contrôle et de droits doivent donc être écrites dans le smart contract afin de protéger l’intégrité des données. 



Comment être plus sécure et intègre?

Si votre produit est populaire, il n’est pas impossible que votre code soit inspecté par des malfaiteurs pour y trouver des vulnérabilités. On ne peut malheureusement pas y échapper, étant donné la nature transparente de l’écosystème du Web3.

Il existe toutefois diverses bonnes pratiques de sécurité qui peuvent aider votre produit à résister à plusieurs types d’attaques malveillantes. En voici quelques exemples :

  • Demander un audit externe d’une firme d’audit telle que Hacken;
  • Utiliser des outils d’analyse statiques comme Mythril;
  • Utiliser des librairies déjà audités et largement utilisées pour les standards établies (ex. : openzeppelin);
  • Prévoir un bon processus de prélancement avec un programme de bounty;
  • Avoir des mécanismes de pause d’opérations lorsqu’il semble y avoir un enjeu.

Par-dessus tout, la meilleure manière de garantir une bonne sécurité de votre produit commence par des pratiques de conception et de développement adéquates. Il est donc beaucoup plus prudent de confier l’écriture de ses contrats intelligents à une équipe de développement qui a de l’expérience avec le Web3. 



Vous voulez en savoir plus?

Chez Mirego, nous avons une équipe d’experts qui comprennent et maîtrisent la nouvelle réalité du développement Web3. Que ce soit pour la création d’un programme de fidélité, la réalisation d’un événement marketing NFT, le lancement d’un projet de finance décentralisé ou pour la prochaine révolution des smart contracts, nous avons le bagage nécessaire et la passion pour vous accompagner dans vos projets les plus innovants!

00:00
00:00

Switching to English