Qu’est-ce qu’une DApp ? Définition et mode de fonctionnement

Un DApp est une application open source décentralisée basée sur la blockchain, qui utilise des jetons cryptographiques pour les transactions. Contrairement aux applications propriétaires appartenant à une entreprise et gérées sur des serveurs centralisés, les DApps utilisent un réseau peer-to-peer résilient. Les DApps sont appelées à occuper un rôle central dans le développement d’un Internet Web3 décentralisé basé sur la blockchain.

Que sont les DApps ?

Le terme DApp est l’abréviation de « Decentralised Application » qui signifie « application décentralisée ». Les DApps sont donc des applications autonomes qui fonctionnent de manière décentralisée. Elles ne sont donc pas tributaires de serveurs d’entreprise, mais utilisent un réseau peer-to-peer distribué. Le stockage des données, des communications et des transactions est basé sur une blockchain. De plus, les DApps utilisent un code open source transparent, qui est généralement visible par les utilisateurs et peut être utilisé gratuitement.

La spécificité des DApps se décline en 4 critères essentiels

Quatre critères de base interviennent dans la définition des DApps. Les conditions suivantes doivent être remplies pour considérer un logiciel comme une application décentralisée :

  • utilise le code open source
  • est basé sur une blockchain
  • utilise des jetons cryptographiques
  • permet de créer des jetons

Examinons de plus près les quatre principales fonctionnalités des applications décentralisées :

Code open source

Les DApps sont basées sur le principe open source. Le logiciel utilise un code source ouvert formulé dans un langage de programmation spécifique précis, qui peut être visualisé, librement utilisé et modifié par des tiers. Le code open source d’une DApp doit être autonome et ne pas dépendre d’entreprises ou d’administrateurs qui décident des modifications apportées à l’application.

On peut citer les modifications arbitraires de la disposition et des modalités de fonctionnement de l’application Instagram à titre de contre-exemple, qui recueillent régulièrement les protestations des utilisateurs. Les DApps fonctionnent ainsi sur un principe plus démocratique et s’adaptent aux propositions de changement de la communauté, aux évolutions du marché et au consensus des développeurs.

On a observé en revanche que les applications décentralisées actuelles n’utilisent à leur tour pas de code source entièrement ouvert, mais uniquement du code entièrement ou partiellement propriétaire, dans le sillage du succès rencontré par les cryptomonnaies. En 2019, seulement 15 % des applications DApps disponibles se sont avérées être open source, tandis qu’un quart de toutes les DApps utilisaient du code source propriétaire.

Blockchain

Le stockage du code source, des données de transaction et des journaux doit avoir lieu dans la blockchain quand il s’agit d’applications décentralisées. Cette dernière repose sur un réseau peer-to-peer décentralisé de différents ordinateurs répartis dans le monde entier. Contrairement aux applications gérées de manière centralisée comme WhatsApp ou Telegram, ces applications sont moins exposées aux hacks et défaillances car les données des utilisateurs ne sont pas stockées sur des serveurs d’entreprise dédiés.

Les DApps offrent un niveau de sécurité plus élevé car les attaques sur les réseaux de blockchain distribués sont dirigées contre chaque machine isolée et doivent résoudre le chiffrement cryptographique. Cela n’est pratiquement pas possible avec une DApp, car son code source est stocké dans une blockchain et donc sur de nombreux ordinateurs en réseau différents. Le code source des DApps est ainsi décentralisé dans la blockchain, réparti et exécutable dans le réseau.

Jetons cryptographiques

Les jetons cryptographiques utilisés dans les applications DApps sont ancrés de façon permanente dans la blockchain décentralisée et chiffrée. Les jetons ou « tokens » sont des copies numériques chiffrées des données stockées dans la blockchain. Les jetons peuvent correspondre à des cryptomonnaies comme le bitcoin dans la blockchain Bitcoin. Elles peuvent être utilisées pour les transactions commerciales ou pour récompenser la production et la vérification de nouveaux jetons par l’exploitation minière.

Les jetons émis ou échangés s’accompagnent de données de transaction sous la forme de copie numérique ou de certificat de transaction protégé contre la contrefaçon quand ils sont minés dans la blockchain. Ceci prévient d’une part les escroqueries et les piratages, et permet de se passer d’une administration centralisée d’autre part. La vérification se fait dans un réseau peer-to-peer décentralisé de mineurs, et non au travers d’une gestion hiérarchique centralisée.

Génération de jetons

Pour pouvoir utiliser une DApp et échanger, acheter ou vendre des jetons, les DApps doivent générer des jetons cryptographiques. Un algorithme de preuve de travail est utilisé à cet effet dans la blockchain Bitcoin ou Ethereum. Bitcoin utilise ainsi par exemple un algorithme SHA-256. En combinant un algorithme, du cryptomining et du hachage, c’est-à-dire la création et la vérification de jetons en résolvant une fonction de hachage les DApps répondent au critère de génération de jetons.

En quoi les DApps se distinguent-elles des applications courantes ?

Les différences majeures entre les DApps et les applications centralisées sont les suivantes :

  • Contrairement aux applications, les DApps ne sont pas gérées en tant que logiciels propriétaires par une instance centrale telle qu’une entreprise ou un administrateur système.
  • Le code source des DApps est généralement open source, publiquement visible, utilisable gratuitement et modifiable.
  • Les données système et utilisateur ne sont pas stockées sur les serveurs de l’entreprise, mais distribuées et traitées sur des réseaux peer-to-peer à l’échelle mondiale.
  • Les DApps reposent sur un backend décentralisé dans un réseau de blockchain, qui est également géré par les utilisateurs.
  • Avec les DApps, la communication ne prend pas place entre les utilisateurs finaux via les serveurs du fournisseur, mais via un réseau d’appareils et de serveurs décentralisé et distribué à l’échelle mondiale.
  • Les transactions sont chiffrées dans une blockchain et vérifiées et documentées à l’aide de contrats intelligents.
Structure de réseau différente entre les DApps (décentralisées) et les apps (centralisées)
Contrairement aux applications traditionnelles, les DApps utilisent un réseau peer-to-peer décentralisé avec un backend déployé sur la blockchain.

Contrats intelligents et DApps

Les DApps reposent de plus sur les contrats intelligents (« Smart Contracts » en anglais), qui appartiennent au code backend de la blockchain. Les contrats intelligents sont des codes qui fonctionnent comme un contrat et qui permettent des transactions de jetons officiels vérifiées entre les utilisateurs de DApp. Dès que les utilisateurs remplissent les conditions du contrat intelligent, le code de programme d’une transaction est exécuté et stocké dans la blockchain. Les contrats intelligents ne pouvant pas être modifiés ni manipulés, ils permettent de mettre en place des transactions transparentes et inviolables.

Entre autres choses, les termes du contrat intelligent stipulent les frais que les mineurs de blockchain reçoivent pour l’exécution et la vérification des transactions. Les contrats intelligents sont souvent écrits dans le langage de programmation orienté objet Solidity. Bien que plusieurs contrats intelligents puissent être utilisés pour les DApps, plus de 75 % des applications DApps actuelles n’utilisent qu’un seul contrat intelligent à la fois. (État : septembre 2022)

Quels sont les avantages et les inconvénients des DApps ?

Avantages Inconvénients
✔ Fonctionnent indépendamment des entreprises individuelles ou des serveurs d’entreprise via un réseau de blockchain distribué et décentralisé ✘ Les performances et l’évolutivité d’une DApp dépendent des performances, de l’évolutivité et de la puissance de hachage de la blockchain
✔ Sont protégées contre les défaillances, inviolables, transparentes et difficiles à pirater ✘ Les grandes entreprises telles que Meta ou Microsoft offrent de meilleures performances et une plus grande convivialité avec leurs applications propriétaires
✔ Sont protégées contre les ingérences gouvernementales, la censure et les manipulations ultérieures ✘ Fonctionnement uniquement en ligne à travers leur approche décentralisée peer-to-peer et nécessitent une connexion à la blockchain
✔ Permettent aux utilisateurs de participer au backend et d’exercer une influence sur le développement
✔ Les transactions financières via les DApps ne nécessitent pas d’intermédiaires tels que des banques ou d’autres institutions financières
✔ Anonymat et confidentialité accrus car les données utilisateur ne sont pas envoyées aux entreprises commerciales avec un traitement de données non transparent
✔ Domaines d’application variés et participation active au développement des utilisateurs

À quels domaines d’application les DApps conviennent-elles ?

Les DApps sont considérées comme un pilier du Web3. Le Web3 est une nouvelle génération d’Internet basée sur des blockchains et des réseaux distribués. Toutefois, les DApps jouent déjà un rôle important dans les transactions au sein des réseaux décentralisés. Le développement et l’application des DApps sont favorisés par le fait qu’elles peuvent être programmées par des utilisateurs possédant des compétences en blockchain et en programmation.

Voici des exemples d’application possibles :

  • Finances : les DApps encouragent les transactions financières et les opérations commerciales décentralisées qui n’imposent pas l’entremise d’institutions financières. Il est par exemple fait appel à des protocoles monétaires pour les transactions financières à cet effet. Les possibilités d’application comprennent les prêts, les obligations, les investissements, les opérations de troc et les enchères.
  • Jeux et NFT : diverses DApps de jeu permettent de faire du commerce et de « jouer » avec un NFT. On peut ainsi gagner de l’argent avec les NFT à travers leur création, collecte, échange ou en faisant des paris.
  • Navigateur : les navigateurs Dapp établissent des connexions entre les applications décentralisées, permettent de surfer dans les DApps sur les réseaux blockchain et fournissent un portefeuille intégré pour les paiements cryptographiques.
  • Réseaux sociaux : les réseaux sociaux décentralisés comme Leeroy peuvent être utilisés comme alternative aux entreprises spécialisées dans les réseaux sociaux centralisées comme Meta ou Twitter, qui font preuve de laxisme en matière de protection des données.

Exemple pratique pour DApps

Les DApps bien connues qui sont entourées d’ores et déjà d’une grande communauté aujourd’hui sont les suivantes :

  • Rarible : Rarible est une application distribuée qui tient lieu de marché NFT. Les NFT peuvent être créés, vendus et achetés via Rarible. D’autres moyens de se procurer des gains incluent le commerce de l’art et le commerce des objets de collection.
  • TraceDonate : le service DApp utilise des portefeuilles crypto pour canaliser les dons à des organismes de bienfaisance.
  • Minds : en tant que DApp de réseaux sociaux, Minds utilise du code open source et un chiffrement fiable des données utilisateur.
  • 1inch : tient lieu de DApp boursière, qui peut être utilisée pour fractionner les transactions de bourse et pour stimuler la négociation sur plusieurs DEX à des conditions optimales.
  • Ipse : le navigateur Dapp est un moteur de recherche décentralisé basé sur le système de fichiers interplanétaire et la blockchain EOS. Ipse promet plus d’anonymat et de confidentialité avec un chiffrement asymétrique à la clé.
  • Pancakeswap : cette place boursière décentralisée parmi les plus importantes pour les cryptomonnaies s’utilise comme une DApp. Elle sert de plateforme d’échange pour les jetons BEP-20.