La Blockchain Ethereum, connue principalement par la cryptomonnaie qu’est l’Ether, est également le foyer de nombreuses applications décentralisées, aussi appelées Dapps (Decentralized applications). Ces Dapps utilisent des Smart Contracts, déployés sur Ethereum, qui contient le code inhérent à leur fonctionnement. Toutes ces Dapps, que ce soit pour manipuler directement des Ethers (échange contre un bien ou un service), ou pour dépenser du gas (montant d’ether indispensable pour mener à bien une transaction, équivalente à un appel de code contenu dans un Smart Contract), doivent vérifier que le montant suffisant d’Ethers est stocké sur l’adresse Ethereum associée à l’utilisateur, ce qui est factuellement contraignant et compliqué à mettre en place. Metamask se place comme intermediaire entre la Blockchain et une application décentralisée afin de gérer cette manipulation d’Ether.

Metamask est un outil disponible sous forme d’extension Firefox Chrome, ou directement à travers le navigateur Brave. Il permet de faire le pont entre Ethereum et votre application décentralisée, tout en vous permettant de ne pas avoir à gérer un noeud Ethereum à part entière. Accessible à tous, son but premier est de rendre le développement d’applications décentralisées plus simple.

Metamask, la porte vers Ethereum

L’utilisation est simple : il suffit d’installer l’extension sur le site metamask, et de créer un compte en gardant précieusement les mots-clés fournis pour récupérer son mot de passe en cas de perte.
Par la suite, vous pouvez vous connecter au réseau de votre choix (Réseau de test ou Global Ethereum Network), et connecter votre compte MyEtherWallet afin de pouvoir échanger vos Ethers.

Interface Metamask

MyEtherWallet est un client web servant à générer des Ethers, et à donner une adresse Ethereum à un utilisateur dont l’identité est certifiée.

Pour un développeur, l’incrustation de Metamask dans un projet peut se présenter de la manière suivante (code fourni par Metamask), en passant par la librairie web3 qui lie ensemble Metamask et la Dapp :

window.addEventListener('load', function() {

// Checking if Web3 has been injected by the browser (Mist/MetaMask)
  if (typeof web3 !== 'undefined') {
    // Use Mist/MetaMask's provider
    web3js = new Web3(web3.currentProvider);
  } else {
    // Handle the case where the user doesn't have web3. Probably
    // show them a message telling them to install Metamask in
    // order to use our app.
    // For example
    // web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
  }

  // Now you can start your app & access web3js freely:
  startApp()
})

Plusieurs applications décentralisées qui nécessitent l’utilisation d’Ethers autrement que pour payer leurs transactions (utilisation de gas), requièrent également l’installation de Metamask pour pouvoir être utilisées.
Parmi elles, CryptoKitties, qui permet l’achat de chatons aux caractéristiques multiples, dont le prix peut valoir plusieurs milliers d’Ethers (un ether valant environ 115 euros à la date d’écriture de cet article) en fonction des caractéristiques génétiques de l’animal digital.
L’ascendence et la descendence d’un chaton (les chats peuvent se reproduire, et les caractéristiques de leur progéniture sont un mélange de la « génétique » des parents avec une part de hasard) sont enregistrées sur la Blockchain Ethereum, ainsi que les changements de propriétés d’un animal.

Un chaton mignon de chez Cryptokitty

Pour pouvoir acheter un de ces chatons digitaux, il est nécessaire de posséder Metamask, associé à une adresse Ethereum provisionnée d’Ethers.

Achat d’un chaton utilisant Metamask

Une autre application décentralisée qui utilise Metamask est « EthLend », qui propose un service de prêt et d’emprunt d’Ethers, en utilisant un colatéral. Le transfert d’Ethers ainsi que la date de remboursement est inscrite dans un « Smart Contract », et si la quantité d’Ethers prévue n’est pas remboursée à la date fixée, la totalité du collatéral (qui peut être toute sorte de crypto-tokens) est versée au prêteur.
Pour gérer cet echange de cryptoTokens, il est nécessaire d’avoir installé Metamask pour procéder à un prêt ou à un emprunt.

ETHLend a besoin de Metamask pour fonctionner

Parmi les applications décentralisées qui utilisent Metamask, on peut également citer : FunFair, une application de jeux vidéos décentralisée basée sur la Blockchain Ethereum; et Zeex, qui permet aux utilisateurs de combiner gift cards et crypto-monnaies pour leur permettre de faire leurs achats sans jamais se soucier de monnaie fiduciaire.

Une autre utilité de Metamask est de permettre le déploiement rapide de crypto-tokens. Lancer sa propre crypto-monnaie est maintenant chose aisée avec cet outil :
Ce tutorial vous permet de faire cela en quelques dizaines de minutes :comment déployer votre propre crypto
Metamask va faciliter la dépense de gas nécessaire au déploiement des Smart Contracts spécifiant les règles de cette nouvelle crypto monnaie (comme pour n’importe quelle transaction executée sur un Smart Contract).

Quels sont les problèmes induits par Metamask ?
Problèmes induits par le phishing :
Metamask est une plateforme qui stocke les clés de son utilisateur, ce qui implique donc que si ces clés sont volées, c’est la totalité du compte Ethereum de l’utilisateur qui peut être vidée.
Un des problèmes induits par metamask est le suivant : la plateforme permet un service de récupération de mot de passe par usage de mot clé. Cette « feature » très utile peut s’avérer réellement dangereuse si ces mots-clé sont récupérés par une tierce plateforme : les fonds en Ethers de l’utilisateur piégé peuvent alors être subtilisés.
Une des techniques courantes pour piéger les utilisateurs de Metamask est de faire apparaître une fenêtre ressemblant de très près à la fenêtre officielle, demandant l’entrée des dits mots-clés.
Cette fenêtre apparaît en haut à droite de l’écran pour mimer l’interface Metamask.

Fenêtre de fraude dont le but est de récupérer les mots-clés Metamask

Cette fraude, visible sur plusieurs sites Internet, est probablement causée par l’utilisation de « Cloudfare » dans la configuration DNS des-dits sites.
Face à ces approches de phishing, la solution principale est la suivante : jamais les mots clés ne sont demandés promptement à un utilisateur, toute approche de ce type est donc suspecte. Egalement, l’application est incapable d’apparaître d’elle-même sur un écran, il est en effet nécessaire de cliquer sur le logo pour cela. En conséquence, face à ce genre de risque, être bien informé est de mise.
A part le phishing qui est une pratique répandue et qui nécessite simplement de la prudence, aucune attaque n’est à rapporter sur Metamask.

Metamask est un outil prometteur qui facilite le travail des développeurs d’applications décentralisées en leur évitant d’avoir à manipuler directement de l’Ether. Ses utilisations sont nombreuses et il est probable de continuer à le voir se développer dans le futur.

Catégories : Blockchain

0 commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.