# Application décentralisée

Une application décentralisée ou DApp, dApp, Dapp ou dapp, est une application qui peut fonctionner de manière autonome, généralement grâce à l'utilisation de contrats intelligents, qui s'exécutent sur un système informatique décentralisé, une blockchain ou un autre système de livre distribué.
Comme les applications traditionnelles, les DApps fournissent un service à leurs utilisateurs, mais contrairement à celles-ci, les DApp fonctionnent sans intervention humaine et n'appartiennent à aucune entité. Les DApps fonctionnent plutôt avec des jetons qui représentent la propriété. Ces jetons sont distribués selon un algorithme programmé aux utilisateurs du système, diluant ainsi la propriété et le contrôle de la DApp. Sans aucune entité ne contrôlant le système l’application est décentralisée.
Les applications décentralisées ont été popularisées par les technologies de registre distribué (DLT), telles que les blockchains Ethereum ou Cardano, sur lesquelles sont construites des DApps.
Les DApps sont divisées en de nombreuses catégories : plateformes d'échange de cryptomonnaies, entreprises, jeux d'argent, jeux, finance, développement, stockage, portefeuille, gouvernance, propriété, identité, médias, social, sécurité, énergie, assurance, santé, etc.

## Définition

Une série de critères doivent être remplis pour qu’une application soit considérée comme une DApp.
Les définitions traditionnelles d'une application décentralisée nécessitent qu'un DApp soit open source. Autrement dit, l'application fonctionne de manière autonome sans entité centralisée contrôlant la majorité des jetons associés à l'application. Les DApp disposent également d'une blockchain publique et décentralisée qui est utilisée par l'application pour conserver un enregistrement cryptographique des données, y compris les historiques de transactions.
Bien que les DApps traditionnelles soient généralement open source, des DApps au code fermé ont émergé à mesure que l’industrie des cryptomonnaies a évolué. En 2019, seuls 15,7 % des DApp sont entièrement open source, tandis que 25 % des DApp sont fermées. En d’autres termes, la proportion de DApps avec du code accessible au public est inférieure à la proportion de DApps sans code accessible au public. Les DApp open source ont généralement des volumes de transactions plus élevés que les DApp à source fermée.
Bitcoin, la première crypto-monnaie, est un exemple de DApp.

## Utilisation

Les DApp peuvent être classées selon qu'elles fonctionnent sur leur propre blockchain ou sur la blockchain d'un autre DApp.

### Contrats intelligents

Les contrats intelligents sont utilisés par les développeurs pour conserver les données sur la chaîne de blocs et pour exécuter des opérations. Plusieurs contrats intelligents peuvent être développés pour une seule DApp afin de gérer des opérations plus complexes. Plus de 75 % des DApp sont prises en charge par un seul contrat intelligent, le reste utilisant plusieurs contrats intelligents.
Les DApp génèrent du « gaz », c'est-à-dire des frais payés aux validateurs de la blockchain, en raison du coût de déploiement et d'exécution des contrats intelligents des DApp. La quantité de gaz requise pour les fonctions d'un DApp dépend de la complexité de ses contrats intelligents. Un contrat intelligent complexe d'une DApp qui fonctionne sur la blockchain Ethereum peut ne pas être déployé s'il coûte trop cher, ce qui entraîne une baisse du débit et des délais d'exécution plus longs.

### Opérations

Des mécanismes de consensus sont utilisés par les DApp pour établir un consensus sur le réseau. Les deux mécanismes les plus courants pour établir un consensus sont la preuve de travail et la preuve d'enjeu.
La preuve de travail utilise la puissance de calcul pour établir un consensus tout au long du processus de minage. Bitcoin utilise le mécanisme de preuve de travail. La preuve d'enjeu est un mécanisme de consensus qui prend en charge les DApp via des validateurs qui sécurisent le réseau en détenant une participation et un pourcentage de propriété sur l'application.
Les DApp distribuent leurs jetons via trois mécanismes principaux : le minage, la collecte de fonds et le développement. Pour le minage, les jetons sont distribués selon un algorithme prédéterminé en récompense aux mineurs qui sécurisent le réseau grâce à la vérification des transactions. Les jetons peuvent également être distribués via une collecte de fonds, les jetons étant distribués en échange d'un financement lors de la phase de développement initiale de la DApp, comme dans le cadre d'une ICO. Enfin, le mécanisme de développement distribue des jetons réservés au développement de la DApp selon un calendrier prédéterminé.
Trois étapes principales se produisent toujours dans la formation et le développement de toute DApp : la publication du livre blanc de la DApp, la distribution des jetons initiaux et la répartition de la propriété. Tout d'abord, le livre blanc est publié, décrivant les protocoles, les fonctionnalités et la mise en œuvre de la DApp. Ensuite, les logiciels et scripts requis sont mis à la disposition des mineurs et des parties prenantes qui soutiennent la validation et la collecte de fonds du réseau. En échange, ils sont récompensés par les premiers tokens distribués par le système. Enfin, à mesure qu'un plus grand nombre de participants rejoint le réseau, soit via l'utilisation de la DApp, soit via des contributions au développement de la DApp, la propriété des jetons se dilue et le système devient moins centralisé.

## Caractéristiques

Le code backend des Dapps est exécuté sur un réseau peer-to-peer décentralisé, par opposition aux applications typiques où le code backend s'exécute sur des serveurs centralisés. Un DApp peut avoir du code front-end et des interfaces utilisateur écrites dans n'importe quel langage pouvant appeler son backend.
Les DApps sont utilisées dans la finance décentralisée (DeFi). Elles y remplissent des fonctions financières sur des blockchains. La Finance décentralisée valide les transactions en peer-to-peer d'une manière totalement nouvelle par rapport à la finance décentralisée, ce qui permet de réduire les coûts.
Les performances d'une DApp sont liées à sa latence, son débit et ses performances séquentielles. Le système de validation des transactions de Bitcoin est conçu de telle sorte que le temps moyen d'extraction d'un Bitcoin soit de 10 minutes. Ethereum offre une latence réduite avec une transaction toutes les 15 secondes. À titre de comparaison, Visa gère environ 10 000 transactions par seconde$^,$. Des projets DApp plus récents, tels que Solana, ont tenté de dépasser ce taux.
Une connexion à Internet est nécessaire au fonctionnement des systèmes blockchain, qui incluent les DApps. Les coûts élevés constituent également un obstacle. Les transactions de faible valeur monétaire peuvent représenter une grande proportion du montant transféré. Une demande accrue pour le service entraîne également une augmentation des frais en raison de l’augmentation du trafic réseau. Il s'agit d'un vrai problème pour Ethereum, qui est attribué à l'augmentation du trafic réseau causée par les DApp construites sur la blockchain Ethereum, telles que celles utilisées par les jetons non fongibles (NFT). Les frais de transaction sont affectés par la complexité des contrats intelligents d'une DApp et par la blockchain particulière.

## Tendances

Ethereum est la technologie de registre distribué (DLT) qui possède le plus grand marché de DApp. Le premier DApp sur la blockchain Ethereum est publié le 22 avril 2016. Depuis mai 2017, le nombre de DApps en cours de développement a augmenté à un rythme plus élevé. Depuis février 2018, des DApps sont publiées quotidiennement. Moins d’un cinquième des DApp capturent presque tous les utilisateurs de DApp sur la blockchain Ethereum. Environ 5 % des DApp capturent 80 % des transactions Ethereum. 80 % des DApps sur Ethereum sont utilisés par moins de 1 000 utilisateurs. Sur Ethereum, les DApp plateformes d'échange de cryptomonnaies captent 61,5 % du volume des transactions, les DApp financières captent 25,6 %, les DApp de jeu captent 5 %, les DApp à haut risque captent 4,1 % et les jeux captent 2,5 %.
En 2020, les DApp n’ont pas été adoptées par le grand public. Les utilisateurs potentiels manquent parfois des compétences ou des connaissances nécessaires pour analyser efficacement les différences entre les DApps et les applications traditionnelles, et peuvent également ne pas apprécier ces différences. Ces compétences et informations peuvent être difficiles d’accès pour l' utilisateur grand public. De plus, l’expérience utilisateur des DApps est souvent médiocre, car elles sont souvent développées pour donner la priorité à la fonctionnalité, à la maintenance et à la stabilité.

## Exemples

Un exemple notable de DApp est le jeu CryptoKitties, construit sur Ethereum. Au plus fort de sa popularité en 2017, il ralenti le réseau Ethereum en raison d’un traitement des transactions insuffisant. Il expose alors les limites de mise à l’échelle des blockchains publiques$^,$$^,$.
Les autres projets les plus connus sont :
* Augur : plateforme de marché de prédiction.
* Projet Stacks : une plateforme de développement d'applications décentralisées.
* Freelance : plateforme sur smart contract.
* Steemit : blogs et réseaux sociaux.
* Uniswap : une plateforme d'échange décentralisée de crypto-monnaie.