C’est quoi les DApps ?

C’est quoi les DApps ? Avant tout, tentons de synthétiser la science des DApps en quelques lignes.

Dis WikIBEx, c'est quoi les DApps

C’est quoi les DApps ?

C’est parti pour la découverte des DApps

À la fin de cet article, vous saurez parler vous mêmes des DApps autour de vous. 

Accrochez vos ceintures, c’est parti.

Par où on commence ?

Définition : c’est quoi les DApps ?

Un point d’histoire

Les DApps, un formidable LEM-SEC

Lorsque l’on débute dans le monde DéFi, Web3, Blockchain, il est impossible de comprendre tous les termes. Pourtant, beaucoup sont en réalité très simples à comprendre et ont un rôle central dans cet écosystème. Dans l’article sur les pools de liquidités, nous définissions ces éléments de langage comme étant des “LEM-SEC” : Lexique Effrayant Mais Simple et Central. 

Les DApps sont un excellent LEM-SEC

Comme vous l’aurez lu plus haut, les DApps sont juste des applications. 

Seulement, elles apportent avec elles une spécificité : elles sont décentralisées.

Les origines

On explique : 

Back in time, au tout début de l’informatique. À l’époque, chaque programme devait être installé sur l’ordinateur. Vous cassiez votre ordi ? Vous pouviez dire adieu à votre sauvegarde de jeu ou à votre PackOffice. 

Tout fut bouleversé par l’arrivée d’internet. 

Par l’arrivée d’Internet, les applications étaient désormais sur des serveurs centralisés. Plus besoin donc de les installer directement sur l’ordinateur et de risquer de tout perdre. Amour et haine sont les deux faces d’une même pièce, avantages et inconvénients aussi. Découvrons ensemble quels inconvénients cela a fait naître.

Le problème des applications centralisées

Les problèmes de sécurité

Au-delà de la sécurité, vous vous doutez bien que la centralisation amène avec elle d’autres problèmes d’ordres éthiques. Cela ne vous pose aucun problème de voir que Facebook, et autres, possèdent autant de données sur vous ? Allez faire un tour sur le documentaire “derrière nos écrans de fumée”, cela vous fera peut-être changer d’avis. Ces grandes entreprises, qui centralisent les données, vendent à qui les veut les données qui nous concernent : géolocalisation, photos, passions, et autres.

C’est à cette centralisation constante que tente de répondre le Web3, qui remet la possession (documents, finances, données) au cœur du Web.

Mais alors, comment les DApps répondent aux inconvénients de la centralisation ? Pour bien comprendre cela, tâchons de bien comprendre ce que sont les DApps.

Les problèmes d’éthiques

Depuis les premières applications centralisées, le Web a bien évolué ! Mais cela a fait germer son (grand) lot de problèmes. 

Tout d’abord, cette centralisation, par définition, signifie la concentration d’une application sur un serveur particulier. De ce fait, cela pose des problèmes importants de sécurité. “Ne jamais mettre ses oeufs dans le même panier” me disait ma grand-mère. Et il faut toujours écouter sa grand-mère. Alors, oui, le panier est souvent sacrément sécurisé. Personne n’ira voler un œuf dans le panier des serveurs de Google l’air de rien. Mais cela n’empêche qu’un serveur concentrant tout un tas de données importantes (bancaires, personnelles, peu importe) peut, en une faille, neutraliser toute l’application et partir avec un sacré butin. Que ce soit volontaire ou non, le risque d’égarer un montant immense de données est accru par la centralisation.

Définition accentuée : c’est quoi les DApps ?

Les deux points clefs

Blockchain & Smartcontract

Le fonctionnement des applications décentralisées est répliqué et distribué sur des réseaux d’ordinateurs interconnectés. Concrètement, ni le stockage des données, ni le fonctionnement ne sont centralisés. Ceux-ci sont détenus par tous et ne sont modifiables que lorsque la majorité des détenteurs l’acceptent. 

 

Les DApps fonctionnent grâce à deux points clefs : 

La blockchain représente une méthode de stockage et de transmission des données contenues dans des blocs de données. Ces blocs s’enchaînent de manière cryptée et ne sont pas modifiables. 

 

Les smartcontracts, quant à eux, sont des programmes informatiques déterministes. Ils exécutent ou non les termes du contrat lorsque les conditions sont atteintes. C’est grâce à la sécurité de la blockchain que les smartcontracts jouissent de données non-falsifiées, permettant de garantir que les conditions nécessaires à l’exécution du contrat sont bien remplies.

Prenons un exemple

Prenons un exemple de DApps. Cela va vous permettre de correctement comprendre le rôle de la blockchain et des smartcontracts dans le processus. Compound est une DApp permettant aux utilisateurs de prêter, d’emprunter et de bénéficier de taux d’intérêts avantageux. Compound est construit sur la blockchain Ethereum. Il fonctionne grâce à un système de pool de liquidités (mise en commun de fonds). Au sein de Compound, les protocoles de prêts s’organisent autour des smartcontracts. En effet, Mme B doit remplir des conditions pour prêter, et M. A doit remplir des conditions pour emprunter. Lorsque ces conditions sont remplies, un smartcontract les vérifie grâce à la totale transparence de la blockchain (tous les échanges de données sont entièrement consultables). Le smartcontract peut donc effectuer les tâches pour lesquelles il est programmé : prendre 1000DAi dans le pool (dont 500DAi appartient à Mme B) pour les prêter à M.A.

En apprendre plus

Décentralisé

Il vous est aussi essentiel de comprendre que le fonctionnement et le stockage des données sont décentralisés. C’est surtout là-dessus que la blockchain a un impact réel sur les DApps : l’exécution de l’application est distribuée entre tous les nœuds (utilisateurs) du réseau. Quand bien même un nœud arrêterait de fonctionner, les données nécessaires à l’exécution de l’application sont détenues dans la blockchain et donc par tous les nœuds qu’elle comporte. La blockchain est vectrice de sécurité grâce au cryptage de ses données.

Open-source

Les DApps sont open-source. Contrairement aux applications centralisées, dont le code source est gardé secret et protégé par des droits d’auteur, les DApps sont open-source et encouragent la transparence et la collaboration.

En étant open-source, les DApps permettent aux développeurs de contribuer au développement en proposant des améliorations, des corrections de bugs et des fonctionnalités supplémentaires. Les utilisateurs peuvent également examiner le code source pour s’assurer qu’il n’y a pas de backdoors ou de vulnérabilités potentielles.

Cela permet également de renforcer la confiance des utilisateurs envers la DApp, qui peuvent voir exactement comment fonctionne la DApp et être assurés qu’elle n’a pas de fonctionnalités cachées ou malveillantes.

Les tokens

C’est aussi grâce aux tokens que sont accessibles les DApps. En effet, celles-ci utilisent leur propre token comme moyen de paiement ou comme récompense. C’est également grâce à ces tokens que de nombreuses DApps sont des DAO. Les DAO sont des organisations autonomes décentralisées dans lesquelles ce sont les utilisateurs qui proposent des modifications et votent.

Quelles utilisations

Divertissement

Lorsque l’on débute dans le monde DéFi, Web3, Blockchain, il est impossible de comprendre tous les termes.  Pourtant, beaucoup sont en réalité très simples à comprendre et ont un rôle central dans cet écosystème. Dans l’article sur les pools de liquidités, nous définissions ces éléments de langage comme étant des “LEM-SEC” : Lexique Effrayant Mais Simple et Central. 

Les DApps sont un excellent LEM-SEC

Comme vous l’aurez lu plus haut, les DApps sont juste des applications. 

Seulement, elles apportent avec elles une spécificité : elles sont décentralisées.

GameFi

On explique : 

Back in time, au tout début de l’informatique. À l’époque, chaque programme devait être installé sur l’ordinateur. Vous cassiez votre ordi ? Vous pouviez dire adieu à votre sauvegarde de jeu ou à votre PackOffice. 

Tout fut bouleversé par l’arrivée d’internet. 

Par l’arrivée d’Internet, les applications étaient désormais sur des serveurs centralisés. Plus besoin donc de les installer directement sur l’ordinateur et de risquer de tout perdre. Amour et haine sont les deux faces d’une même pièce, avantages et inconvénients aussi. Découvrons ensemble quels inconvénients cela a fait naître.

DEX

Les DEX sont des plateformes d’échanges décentralisées. Celles-ci sont des plateformes d’échange qui permettent aux utilisateurs d’acheter et de vendre des cryptomonnaies directement entre eux, sans passer par une autorité centrale ou une tierce partie de confiance. Les DEX sont construits sur la blockchain et utilisent des smartcontracts pour automatiser le processus d’échange.

Mode de fonctionnement complexe

Les applications centralisées et décentralisées sont différentes. Seulement, elles ont également des similitudes. Analysons les trois couches qui les constituent pour bien comprendre leurs différences.

Front-end

La première couche représente l’interface utilisée par les utilisateurs. Que ce soit pour les applications centralisées ou pour les DApps, l’interface change peu. Cependant, les interfaces centralisées, comme nous le verrons plus tard, sont souvent plus légères, fluides et ergonomiques. Cette première couche représente la partie visible de l’iceberg.

Backend

Le back-end d’une DApp utilise des smartcontracts pour automatiser les opérations et garantir l’exécution de code sans erreur. Les smartcontracts sont autonomes et s’exécutent sur la blockchain, ce qui garantit que les résultats de l’exécution du code sont vérifiables et transparents. Comme expliqué auparavant, c’est grâce aux smartcontracts et à la blockchain que les DApps apportent une preuve de sécurité et de transparence nécessaires à la confiance.

Stockage des données

Le stockage des données pour les DApps est également différent des applications centralisées. Les DApps stockent les données sur la blockchain elle-même. Les données sont stockées sous forme de transactions et sont accessibles à tous les participants de la blockchain. Cela garantit la transparence et la sécurité des données stockées, car chaque transaction est vérifiée et approuvée par la communauté de la blockchain.

C’est quoi les DApps ? Des avantages et inconvénients

Les avantages

La sécurité

Les DApps étant basées sur la blockchain, cela leur procure un avantage évident vis-à-vis de la sécurité. En effet, là où un système centralisé aurait regroupé toutes les données au sein d’un serveur centralisé et hautement sécurisé, les DApps font confiance à la sécurité de la blockchain. Plus concrètement, pour aller récupérer les données disparates qui s’exécutent dans la blockchain, les attaquants ont deux façons de fonctionner :

Corrompre la majorité des nœuds.

Chaque bloc est relié à un précédent par le hachage. Cela signifie que les blocs contiennent toujours un code permettant d’accéder au bloc précédent. C’est en corrompant la majorité des nœuds qu’il est possible d’avoir accès à la totalité des données de la blockchain.

Trouver une faille de sécurité dans un smartcontract.

Comme vous le savez, un smartcontract n’est pas un contrat mais un programme informatique. Celui-ci étant libre d’accès sur la blockchain, il est possible qu’une faille de sécurité soit trouvée par des attaquants afin d’en profiter. C’est par exemple le cas de “The DAO”, une DApp de gouvernance décentralisée (DAO) qui s’est vue privée d’un tiers de ses fonds lors d’une attaque liée à un smartcontract.

La vasteté d’Ethereum

La plupart des DApps fonctionnent aujourd’hui sur la blockchain Ethereum. Celle-ci est tellement vaste qu’il nous paraît assez fou de penser qu’une majorité des nœuds pourrait être corrompue. Les DApps bénéficient donc d’un climat de sécurité important.

Décentralisation

Cet avantage est lié à tous les autres car il en est l’origine. En effet, comme nous l’avons vu plus haut, la centralisation posait problème. De ce fait, en décentralisant, ce sont désormais des communautés qui gèrent le fonctionnement de ces logiciels et en assurent le stockage sur la blockchain, et non des serveurs centralisés. 

Cette décentralisation a aussi pour avantage de garantir un fonctionnement constant des DApps, sans maintenance, et une disponibilité constante sur chaque nœud du réseau.

De plus, la décentralisation amène aussi avec elle l’absence de contrôle néfaste que peut avoir un organisme centralisé sur un protocole. Par exemple, la censure présente sur les protocoles centralisés n’a pas lieu d’être sur le DApps. Alors, liberté d’expression en tout et pour tout, pour le meilleur et pour le pire : quel est votre avis sur la question ? À vos débats.

Nous parlions à l’instant du contrôle néfaste des protocoles centralisés. Souvenez-vous du début de cet article, où nous parlions du problème des données centralisées dans les mains de grandes entreprises peu philanthropes. Eh bien, la décentralisation issue du Web3 permet de remettre la possession de ses propres données au centre de l’activité sur le Web.

Transparence

La totalité des données relatives à une DApp sont stockées sur la blockchain, comme le code source qui permet son fonctionnement. Cela amène donc un avantage non-négligeable de transparence. Toutes les transactions étant parfaitement visibles et consultables sur la blockchain, il devient simple de recueillir les données nécessaires à un recours juridique en cas de litige. En effet, l’on peut s’assurer grâce à cela qu’aucune transaction n’ait été corrompue, Cette transparence donne même l’opportunité de rentrer dans une continuelle collaboration concernant l’amélioration de la DApp. Les apporteurs d’améliorations sont généralement remerciés grâce à des dons de tokens propres au protocole. De ce fait, les DApps rentrent dans un cercle vertueux d’amélioration constante doublé d’un renforcement de leur communauté.

Désintermédiation

Comme expliqué dans l’article sur la Défi (finance décentralisée), la désintermédiation offre une réduction des coûts aux protocoles. En effet, moins l’on a d’intermédiaires qui prennent leur part du gâteau, plus le gâteau est conséquent. C’est en enlevant les tierces parties de confiance que les DApps réduisent les coûts. Seulement, comme nous le verrons plus bas, cette réduction des coûts par la désintermédiation ne s’applique pas à tous les cas.

Autonomes

Que ce soit d’un point de vue financier ou de gouvernance, les DApps ont le formidable avantage d’être autonomes. Ainsi, au lieu d’être contrôlées par les reptiliens, … Hum hum, mauvais sujet, pardon. Ainsi, elles peuvent bénéficier d’une autonomie financière enclenchée par les tokens propres à leur protocoles. La gouvernance est elle aussi souvent décentralisée grâce aux DAO, un modèle de gouvernance permettant à tout le monde de proposer puis de voter pour l’adoption de changements concernant le protocole. Les utilisateurs s’investissent et n’ont plus besoin d’organismes parfois cupides pour gérer les fonds communément alloués à une cause.

Les inconvénients

Agilité

Basées sur la blockchain, cela leur procure un avantage évident vis-à-vis de la sécurité. En effet, là où un système centralisé aurait regroupé toutes les données au sein d’un serveur centralisé et hautement sécurisé, les DApps font confiance à la sécurité de la blockchain. Plus concrètement, pour aller récupérer les données disparates qui s’exécutent dans la blockchain, les attaquants ont deux façons de fonctionner :

Peu ergonomique

Le front-end, dont nous parlions plus haut, a l’inconvénient d’être moins ergonomique que celui des protocoles centralisés. En effet, les réseaux étant moins simples qu’un vaste réseau centralisé, cela pose problème. C’est d’autant plus dans les cas où une vaste demande survient sur le réseau que celui-ci pêche, d’autant plus s’il ne base pas sa proposition de valeur première sur la vitesse du réseau.

Puissance de calcul

Mais alors, qu’est-ce qui empêche les DApps d’être tout aussi ergonomiques et puissants que les applications centralisées ? Les DApps, pour fonctionner, ont besoin d’une puissance importante. Eh oui, chaque nœud validateur doit posséder une version entièrement à jour de la blockchain, ce qui représente un trafic immense continu entre les nœuds. Le taux de transaction par seconde (TPS) est donc amoindri par ces serveurs lourds, et des frais de gas parfois élevés sont une externalité négative de ces serveurs gourmands. Bien que cela nuise à un fonctionnement plus ergonomique, cela permet tout de même aux DApps de porter haut et fort des avantages tels que la sécurité, la transparence et la décentralisation de manière globale.

L’effet réseau

Finalement, comme pour les applications centralisées, le marketing est un levier clef de succès. En effet, sans un nombre conséquent d’utilisateurs, il est complexe pour les DApps de fournir un service optimal. Avec l’avantage du nombre, le service s’améliore et les utilisateurs prennent part à la modification du code source des DApps pour accéder au meilleur service. Pour le moment, de nombreuses DApps ne bénéficient pas du trafic qu’elles méritent.

Coûts plus élevés

Il est vrai que dans certains cas, les services fournis par les DApps reviennent à un coût supérieur que ceux qu’un protocole centralisé. C’est notamment le cas des secteurs où les intermédiaires classiques sont peu coûteux. C’est dans des domaines où les intermédiaires sont plus contraignants que les DApps apportent réellement un avantage.

Complexité d’accès

Que ce soit au niveau de l’utilisation ou au niveau de la programmation, les DApps ont comme barrière d’être complexes à l’utilisation. Leur programmation demande des connaissances poussées dans le langage de programmation Solidity, utilisé sur la blockchain Ethereum. Les DApps sont donc souvent plus complexes que les applications centralisées en raison de leur nature décentralisée. Cela peut rendre leur développement et leur utilisation plus difficiles pour certains utilisateurs.

Scalabilité limitée

Comme vu dans l’inconvénient “puissance de calcul”, les blockchains actuelles ont des limitations en termes de nombre de transactions par seconde, ce qui peut rendre les DApps moins performantes que les applications centralisées. La scalabilité est pourtant un défi majeur à surmonter pour espérer perpétuer la croissance du secteur.

Risque de sécurité liés aux smartcontracts

Il est toujours bon d’accepter que rien n’est vraiment parfait. En dépit de tous leurs avantages, les smartcontracts peuvent avoir des bugs ou des vulnérabilités qui peuvent être exploités par des attaquants malveillants.

En conclusion : C’est quoi les DApps ?

En résumé, les DApps sont des applications décentralisées, basées sur la blockchain et fonctionnant grâce aux smartcontracts, des programmes informatiques exécutés lorsque leurs conditions sont remplies. Aussi, ces DApps portent de nombreux avantages tels que l’autonomisation, la décentralisation, la sécurité, la transparence et la désintermédiation. Cependant, cela est contrasté par des inconvénients liés à la perfectibilité de son système afin de le rendre plus ergonomique, fonctionnel et sécurisé. Nous ne doutons pas que les DApps continueront d’être le fer de lance de la blockchain à l’avenir, grâce aux communautés qui s’investissent pour les faire évoluer en continue. En somme, la marge de progression est encore grande, pour notre plus grand plaisir.