Les dApps sont des applications décentralisées exécutées sur des blockchains. Comment fonctionnent-elles, et à quoi servent-elles ? Explications.
decentralized app by Omeneko from the Noun Project
Qu'est-ce qu'une dApp ?
A l'inverse des applications classiques fonctionnant sur des systèmes centralisés (comme un serveur, une plateforme de cloud, ou un réseau centralisé), une dApp ou application décentralisée est une application qui est exécutée sur un système décentralisé, telle qu'une blockchain. Tous les paramètres d'une dApp, de l'exécution du code au stockage des données en passant par la distribution de celles-ci sur le réseau sont gérés de façon décentralisée.
Les applications "normales" sont centralisées
Il faut déjà comprendre les problèmes récurrents des applications centralisées pour comprendre l'intérêt des dApps :
- Le code-source n'est pas toujours accessible. Plus qu'un simple caprice de geek, l'accès aux sources permet de s'assurer ce qu'il se passe sous le capot. C'est comme ça, par exemple, que vous pouvez être serein sur ce que fait Mozilla Firefox ou encore Brave Browser: le code est open-source. Si le navigateur envoyait vos données personnelles à tout va, ça ferait scandale dans les quelques heures qui suivent la mise à jour. La même sérénité est souhaitable pour tout ce qui touche de près ou de loin à des services financiers ou à vos données.
- Elles ne sont pas autonomes : elles nécessitent une entité centrale pour l'opérer
- Elles ne sont pas transparentes : les données sont rarement publiquement accessibles
- Elles ne sont pas tolérantes aux fautes par nature. Même si après beaucoup d'effort, il est possible de rendre une application résiliente (Google ne plante pas tous les 3 jours), cela demande une structure spécifiquement conçue, un processus de développement rigoureux et beaucoup, beaucoup de travail.
- Elles sont sensibles à la censure. Toute entité qui opère une plateforme est en mesure de censurer ou de se faire imposer de la censure.
Et la lumière fut
La preuve de travail, inventée par (on ne le présente plus) Satoshi Nakamoto a permis l'avènement de la toute première dApp : Bitcoin. Version distribuée et décentralisée des systèmes monétaires historiques, Bitcoin est la toute première monnaie à s'accorder l'autonomie, la transparence et la tolérance aux fautes par construction. Il est quasimment impossible de pirater Bitcoin, cela impliquerait de pirater plus de la moitié des noeuds du réseau. Même les développeurs du protocole Bitcoin n'ont pas le contrôle sur celui-ci, car ils n'ont pas la capacité d'imposer leurs mises à jour à tous les noeuds du réseau. C'est d'ailleurs l'origine des forks de Bitcoin, comme Bitcoin Gold ou Bitcoin Cash.
Mais l'histoire ne s'arrête pas là, car un deuxième génie vint apporter sa pierre à l'édifice : Vitalik Buterin, l'inventeur d'Ethereum. Son idée est géniale de simplicité: et si, plutôt que de monter une blockchain à chaque fois qu'on veut créer une application décentralisée, on permettait tout simplement aux développeurs d'exécuter du code et de stocker des données directement sur la blockchain ? Ainsi est né le projet Ethereum, la première plateforme d'applications décentralisées.
Via des smart contrats (qui sont, en fait, du code), les développeurs peuvent concevoir sur Ethereum des applications décentralisées sans avoir la lourde tâche de créer de toute pièce une blockchain pour supporter leurs exécutions.
Comment les dApps résolvent les problèmes des applications centralisées ?
Les applications décentralisées sont :
- Open-source par nature : le code des contrats est public et accessible à tous. Chacun peut vérifier dans quoi il s'engage en utilisant une application décentralisée.
- Elles sont autonomes car exécutées sur la blockchain
- Elles sont transparentes (autant que la blockchain sur laquelle elles sont exécutées)
- Elles sont tolérantes aux fautes (comme la blockchain)
A quoi servent les applications décentralisées ?
Concrètement, à tout. Elles sont particulièrement intéressantes lorsqu'une autorité centrale pose problème (qu'il soit de nature technique, politique, financier, ou autre).
Voici quelques exemples :
- La gestion des noms de domaines est actuellement régulée par l'ICANN, un organisme américain. Un nouveau protocole est en train de voir le jour sur Ethereum
- L'accaparation de valeur par les plateformes sur de nombreuses industries. On ne les compte plus : les réseaux sociaux, les plateformes de mise en relation acheteur/vendeurs (Uber, AirBNB, LeBonCoin, Ebay, etc), les places de marché, etc. Les applications décentralisées permettent dans de nombreux cas de se passer d'intermédiaires de confiance
- Les autorités de certification qui délivrent les certificats (permettant par exemples l'encryption HTTPS)
- Les casinos ou systèmes de jeux en ligne (qui ont besoin de transparence pour gagner la confiance des utilisateurs)
- Les plateformes de publication sensibles à la censure (comme Wikileaks, ThePirateBay, etc)
- Les systèmes de paiements (couper les intermédiaires pour une meilleure efficacité et un meilleur prix)
- Les systèmes de vote en ligne
- Les plateformes de crowdfunding
- Les plateformes de paris en ligne
- Les systèmes d'assurances
Nous n'en sommes qu'au tout début de l'internet décentralisé. Il est possible qu'un grand nombre de systèmes que nous utilisons se voient offrir dans les prochaines décennies des alternatives décentralisées, plus fiables et moins onéreuses. Si le monde de la cryptomonnaie est le premier à en bénéficier (lire : Le volume de l'exchange décentralisé Uniswap dépasse Coinbase), les utilisations sont vouées à se répandre, tôt ou tard, vers le monde de l'industrie. Lorsqu'une autorité centrale n'est pas pertinente pour cela ou que des solutions alternatives à celle-ci peuvent être trouvées.
Si vous voulez voir des idées originales de dApps, n'hésitez pas à consulter dAppRadar.
Sur quelles plateformes fonctionnent les applications décentralisées ?
Il y a aujourd'hui plusieurs plateformes de dApps.
Si la plus ancienne et la plus robuste reste Ethereum, aujourd'hui, EOS, TRON, NEO, entre autres, sont également fonctionnelles et ont réussi à capturer de maigres part de marché (principalement pour des raisons de diminution de risque: certaines dApps ont intérêt à se répartir sur plusieurs plateformes pour assurer leur fonctionnement en cas de congestion de l'une de celle-ci). La concurrence la plus sérieuse à Ethereum risque d'arriver avec l'avènement de l'ère Goguen de Cardano, qui introduira les smart contracts sur cette plateforme réputée pour sa sécurité et son développement robuste.