
Les dApps sont-elles mortes ? Le dilemme entre décentralisation et expérience utilisateur pour les applications Web3
TechFlow SélectionTechFlow Sélection

Les dApps sont-elles mortes ? Le dilemme entre décentralisation et expérience utilisateur pour les applications Web3
Si nous pouvons déplacer la complexité vers la couche d'infrastructure, créer des dApp devrait être plus simple.
Auteur : w1nt3r.eth
Traduction : TechFlow

Peut-être que la blockchain durera éternellement, mais la durée de vie des applications décentralisées (dApps) est brève.
Lors d’Halloween 2024, j’ai tenté d’ouvrir certaines dApps que j’utilisais en 2021. Le résultat a été effrayant : domaine expiré, déploiement suspendu, page introuvable, service indisponible.
Attendez, ces applications ne sont-elles pas censées être décentralisées ? Elles auraient dû être indépendantes des entités centralisées, libres comme une bière, libres et résistantes à la censure comme la parole. Ce sont elles qui devaient faire du Web3 le nouveau Internet.
Pourtant, presque toutes ont disparu. La plupart de celles que j’utilisais il y a deux ans n’existent plus. Leurs « fantômes » subsistent peut-être quelque part sur la blockchain, à condition de trouver l’adresse du contrat appropriée et de deviner les bonnes données d’appel.
Pourquoi cela se produit-il ? Où est le problème ? Que pouvons-nous faire pour changer cette situation ?
Qu'est-ce qu'une « dApp » exactement ?
Retournons consulter un vieux texte archéologique remontant à l'âge préhistorique (2016).
« dApp » est l'abréviation de « application décentralisée ». L'idée est de créer une application web avec des technologies ouvertes (HTML/CSS/JS), hébergée sur une infrastructure décentralisée et sans permission (comme IPFS). Une dApp interagit avec la blockchain via votre portefeuille. Vous pouvez récupérer les dernières données et envoyer des transactions sans dépendre d'une entreprise centralisée.
Cela rend les dApps presque impossibles à arrêter. Libres, sans permission, décentralisées. C’est le rêve ultime du véritable esprit punk.
De belles pages d'accueil
Toutefois, la majorité des utilisateurs ne se soucient guère de la décentralisation ou de l'absence de permission. Ce qui les intéresse, c'est que l'application soit pratique (et que les chiffres montent).
Les développeurs Web3 ont vite compris qu'ils étaient en concurrence directe avec les applications Web2, conçues avec soin, rapides et attrayantes, qui captivent l'attention des utilisateurs. Sur ce terrain, la décentralisation ne leur donne guère d'avantage.
Ceux qui comprennent bien la technologie savent que la blockchain constitue un changement de paradigme réel. Mais tout ce qui se trouve sur la blockchain est « open source » et reproductible, ce qui en fait une commodité. Il n'y a aucune barrière à la concurrence. N'importe qui peut déployer le contrat Uniswap n'importe où. En réalité, n'importe qui peut même créer son propre L2 !
La vraie différence réside dans la marque, la distribution, les effets de réseau et l'expérience utilisateur. Parmi des centaines de millions de déploiements d'Uniswap, les utilisateurs choisiront celui auquel ils font confiance (marque), qu'ils peuvent facilement atteindre (distribution), que tout le monde utilise (effet de réseau), et dont l'interface est agréable (expérience utilisateur).
J'ai mentionné l'expérience utilisateur en dernier, mais ce n'est pas la moins importante. Une mauvaise expérience utilisateur a des conséquences négatives. Tout propriétaire de boutique e-commerce sait qu’un retard de 100 millisecondes peut entraîner la perte de 10 % des utilisateurs. Sans bonne expérience utilisateur, impossible de construire une marque haut de gamme. Et si votre application agace les utilisateurs, vous ne pourrez pas les fidéliser.

Déployer sur Vercel est plus simple que sur IPFS
Il est difficile de faire le bien
Même si la plupart des utilisateurs se moquent de la décentralisation, les véritables cypherpunks s'en soucient encore. Pas parce que « tout le monde devrait être fanatique de la décentralisation », mais parce que « c’est la bonne chose à faire ». Même lorsque les entités centralisées deviennent hostiles ou imposent la censure, la décentralisation permet d’octroyer pouvoir et autonomie aux individus.
Voilà précisément le problème. Créer une application à la fois décentralisée et offrant une excellente expérience utilisateur n’est pas facile. Et la raison en est que nous (les développeurs) sommes devenus paresseux.
Anatomie de BasePaint
Examinons une dApp typique d'aujourd'hui et les technologies sur lesquelles elle repose. Je vais prendre mon propre projet, BasePaint, comme exemple. D’une certaine manière, cela devrait être une « dApp Web3 » : elle utilise la blockchain (le L2 Base) et nécessite le portefeuille de l’utilisateur pour interagir. Mais cela ne suffit pas à garantir une bonne expérience utilisateur, j’ai donc dû ajouter plusieurs éléments non décentralisés. En réalité, beaucoup.

Composition des services techniques de BasePaint
Voici les technologies centralisées que j’ai dû adopter lors du développement :
-
Nom de domaine. Je voulais que les utilisateurs puissent facilement nous trouver et accéder au site. Comme les navigateurs ne prennent pas en charge ENS, j’ai dû acheter un nom de domaine auprès d’un registrare et configurer le DNS pour pointer vers le bon serveur.
-
Hébergement. J’ai besoin d’héberger l’application (fichiers HTML/CSS/JS) quelque part, en m’assurant qu’elle soit rapide et stable. Bien que IPFS ait du potentiel, la plupart des navigateurs ne le supportent pas, les passerelles sont lentes, et les URL peu pratiques.
(Vous avez déjà essayé de taper
QmRxM6Fz3jYBNLTNn59Whtj8uiFodC53Z5nEep6eSkwf8V sur un téléphone ?)
-
Base de données. La blockchain peut être une bonne base de données dans certains cas, mais pas dans tous. Par exemple, nous stockons les messages de discussion dans une base Postgres car c’est moins cher et plus rapide. On pourrait essayer de tout mettre sur la blockchain, mais cela ne sera jamais aussi rapide qu’une base centralisée.
-
Services backend. BasePaint doit effectuer certains calculs inadaptés à Ethereum. Par exemple, générer des vidéos, synchroniser les positions des curseurs de plusieurs utilisateurs, vérifier les autorisations de chat, etc. De plus, nous devons protéger certaines informations sensibles, comme les identifiants de connexion à la base de données ou les tokens privés.
-
Fournisseur JSON-RPC Ethereum. Théoriquement, nous pouvons accéder à la blockchain via le portefeuille de l'utilisateur. Mais cela signifie que les utilisateurs sans navigateur compatible « Web3 » ne verront rien. Pire encore, les fournisseurs RPC des différents portefeuilles présentent des différences subtiles. Par exemple, QuickNode limite les requêtes de logs à moins de 10 000, tandis qu’Alchemy utilise ses propres unités de calcul pour limiter les demandes. Utiliser le RPC du portefeuille implique de gérer toutes ces subtilités.
-
Indexeur. Stocker des données sur la blockchain est coûteux. BasePaint résout ce problème en n’enregistrant pas les pixels dans le contrat. À la place, il envoie toutes les données nécessaires via l’événement Painted. Vous pouvez reconstruire n’importe quel canevas en interrogeant les événements du contrat intelligent. Mais imaginez faire cela sur la page de galerie BasePaint (où nous affichons des centaines de canevas !). Pour une expérience fluide, nous exécutons un indexeur qui suit les événements blockchain et stocke les données de manière optimisée pour des requêtes rapides.
-
Autres services. Nous utilisons Reservoir pour les données du marché secondaire et le minting cross-chain, Cloudflare comme CDN, R2 pour le stockage et la mise en cache vidéo, DataDog pour la journalisation, PostHog pour l’analyse, Neynar pour retrouver les adresses de portefeuille des utilisateurs Farcaster. Chaque service nous fait gagner des semaines, voire des mois de développement, mais rend notre application moins décentralisée. En outre, de nombreux outils manquent de modèle économique durable et pourraient disparaître à tout moment.
-
Carte de crédit. Ce point me fait toujours sourire tristement. Saviez-vous que la plupart des SaaS cryptos ne peuvent pas être payés en crypto ? Si mon solde de carte de crédit est insuffisant ou expiré, mon domaine, ma base de données, mes serveurs, mes points d’accès RPC et autres SaaS tombent en panne.
Comment décentraliser une application ?
En tant que développeur Web3, voici les options que je vois actuellement :
-
Abandonner les technologies centralisées et construire une dApp hardcore reposant uniquement sur des services décentralisés. Cela fonctionne peut-être pour des projets comme Tornado Cash, mais pour un produit grand public, cela crée des obstacles UX qui décourageraient la majorité des utilisateurs.
-
Garder une application centralisée tout en développant une version simplifiée de la dApp fonctionnant exclusivement avec une pile technologique décentralisée. Cela signifie maintenir deux applications distinctes, augmentant ainsi la charge de travail et les coûts.
-
Adopter une stratégie de « renforcement progressif ». Commencer par une dApp simplifiée, puis utiliser le serveur, s’il est disponible, pour améliorer la rapidité. Cela nécessite une gestion rigoureuse et, comparé à l’option 2, ne fait gagner que peu de temps.
-
Rendre le code open source pour permettre aux utilisateurs de l’exécuter eux-mêmes (c’est la voie que nous avons choisie). En pratique, lancer tout le système demande une compétence technique élevée, bien plus complexe que de charger une page depuis IPFS.
Toutes ces options exigent des efforts considérables et ne sont pas la solution par défaut. Aucun tutoriel ou modèle de dApp n’aborde sérieusement ces problèmes. Pourtant, le développement d’applications décentralisées ne devrait pas être si compliqué. Si nous pouvions transférer cette complexité vers la couche d’infrastructure, créer des dApps serait bien plus simple.
Et si nous commencions par résoudre les problèmes difficiles ?
Nous pourrions tenter de décentraliser au niveau de l’infrastructure. Par exemple, intégrer le support d’ENS dans getaddrinfo, permettre à tous les navigateurs de supporter nativement IPFS, et améliorer la vitesse d’IPFS jusqu’à concurrencer les CDN les plus performants. Nous pourrions aussi améliorer le JSON-RPC d’Ethereum pour le rendre plus utile aux dApps. Mais ce n’est que la partie facile.
Pour remplacer les bases de données et serveurs centralisés, nous devons développer une série de technologies qui n’existent pas encore. Peut-être un système de calcul distribué basé sur des preuves à connaissance nulle (ZK), rémunéré pour exécuter du code, ou un « super Ethereum » capable d’exécuter efficacement des instructions x86 génériques.
De plus, nous devons trouver des solutions décentralisées pour tous les services construits autour de la crypto. Nous devons concevoir de nouveaux mécanismes d’incitation — qui paiera ces ressources informatiques ? Dans un système truly décentralisé, les modèles commerciaux SaaS actuels ne fonctionneront plus. (Mais espérons que ces services pourront être payés en crypto, sans carte de crédit.)
Enfin, nous devons garantir que l’expérience de développement sur ce nouveau système soit au moins aussi bonne que celle des plateformes centralisées actuelles. Ces dernières ont investi des milliards de dollars en ingénierie pour peaufiner leurs outils, et dépensé massivement en marketing pour envahir les tutoriels en ligne et convaincre le monde que leur solution est la meilleure.
Est-ce vraiment important ?
« Vos scientifiques étaient tellement préoccupés par le fait de savoir s’ils le pouvaient qu’ils n’ont jamais pris le temps de réfléchir s’ils le devaient. » — Extrait de *Jurassic Park*
Mais l’application elle-même a-t-elle besoin d’être décentralisée ?
Nouns nous montre que peut-être seule la décentralisation de la blockchain suffit. Nouns possède un écosystème d’applications florissant, toutes interagissant avec le même contrat. Vous pouvez voter via Camp ou Agora, peu importe — choisissez simplement l’interface que vous préférez.
Pour attirer des milliards d’utilisateurs, la crypto devra peut-être devenir un composant parfaitement intégré aux systèmes existants. Cela signifie que l’expérience idéale serait que l’utilisateur ignore même qu’il utilise la crypto, tant elle est abstraite au point de devenir insignifiante. Par exemple, un simple tapotement sur son téléphone pour acheter un café, peu importe qu’il utilise USDC ou le réseau Visa.
Le marché a trouvé une solution optimale partielle :
-
La blockchain, en tant que couche de base, est décentralisée, garantissant la sécurité de milliers de milliards de dollars d’actifs, et offrant un soutien solide à la propriété et à la résistance à la censure.
-
La couche applicative est centralisée. Des entreprises développent des applications centralisées pour offrir la meilleure expérience utilisateur possible. Leurs systèmes fermés créent des barrières contre la concurrence, mais ces applications interagissent toujours avec la même blockchain.
Les outils manquants
J’aimerais que cet équilibre penche davantage vers la décentralisation. J’aimerais pouvoir exécuter localement ma propre version de Nouns Camp ou Agora aussi facilement qu’en cliquant sur un lien. J’aimerais que nous disposions d’outils facilitant la création de telles applications décentralisées sans compromettre l’expérience utilisateur.
BasePaint est impressionnant. C’est un écosystème autonome : des artistes créent des œuvres, des collectionneurs achètent et réalisent des profits sur le marché secondaire, les propriétaires influencent les décisions quotidiennes par vote. Ce modèle fonctionne : nous avons déjà redistribué plus d’un million de dollars aux créateurs.
Pourtant, l’élément le plus fragile du système, c’est notre équipe. Maintenir l’application demande un effort colossal : corriger les bogues, améliorer l’UX. En même temps, nous travaillons à rendre le système plus décentralisé, par exemple en facilitant l’auto-hébergement ou en abandonnant les contrôles d’accès plutôt que de les imposer.
Conclusion
Les applications décentralisées (dApps) semblent avoir perdu leur vitalité, car l’avantage de la « décentralisation » n’intéresse actuellement pas les utilisateurs, et les développeurs doivent donc s’adapter. Nous avons cessé de développer les outils destinés à décentraliser les applications.
Heureusement, l’infrastructure sous-jacente de la blockchain est aujourd’hui plus robuste que jamais. Les technologies fondamentales sont plus solides, et les feuilles de route prometteuses. Nous avons réellement la possibilité de construire une plateforme informatique mondiale.
Mais malheureusement, les discussions sur comment améliorer l’interface utilisateur ne reçoivent pas l’attention qu’elles méritent. Le concept de dApp est temporairement mis de côté…
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














